尝试创建ACL时获取ORA-46212
问题描述:
对于需要使用PL/SQL调用Web服务的任务,所以我想从使用DBMS_NETWORK_ACL_ADMIN.CREATE_ACL
创建ACL开始,当我尝试使用它的“普通”用户时甚至不承认DBMS_NETWORK_ACL_ADMIN
,当我尝试使用系统用户时,我得到了XS entity with this name already exists
(ORA-46212)。尝试创建ACL时获取ORA-46212
我正在使用的代码如下:
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => 'www.xml',
description => 'WWW ACL',
principal => 'CLOCKGEAR',
is_grant => true,
privilege => 'connect');
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => 'www.xml',
principal => 'CLOCKGEAR',
is_grant => true,
privilege => 'resolve');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => 'www.xml',
host => 'wsf.cdyne.com');
END;
/
我不知道我做错了,我希望有人能帮助我解决这个问题。
在此先感谢。
编辑:
只想何况这是在情况下,本地Oracle DB(版本12.2.0)也可能是相关的。
答
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'wsf.cdyne.com',
ace => xs$ace_type(privilege_list => xs$name_list('connect', 'resolve'),
principal_name => 'CLOCKGEAR'
principal_type => xs_acl.ptype_db));
Oracle 12c已经改变了acl的方法。您在代码中使用的所有方法都被弃用。立即尝试。
检查这些链接。
你是对的,这似乎是现在的工作 –