Oracle DBMS_LDAP DifferentiedName DN命名冲突(0000209F:UpdErr:DSID-030502EC,名称冲突)

Oracle DBMS_LDAP DifferentiedName DN命名冲突(0000209F:UpdErr:DSID-030502EC,名称冲突),oracle,plsql,active-directory,ldap,Oracle,Plsql,Active Directory,Ldap,尝试执行代码时出现命名冲突错误: DBMS_LDAP.USE_EXCEPTION := TRUE; DBMS_LDAP.UTF8_CONVERSION := false; v_session := DBMS_LDAP.init(hostname => c_ldap_host, portnum => c_ldap_port); v_retval := DBMS_LDAP.simple_bind_s(ld => v_

尝试执行代码时出现命名冲突错误:

DBMS_LDAP.USE_EXCEPTION := TRUE;
DBMS_LDAP.UTF8_CONVERSION := false;
v_session := DBMS_LDAP.init(hostname => c_ldap_host,
                            portnum  => c_ldap_port);
v_retval := DBMS_LDAP.simple_bind_s(ld     => v_session,
                                    dn     => c_ldap_user,
                                    passwd => c_ldap_passwd);

v_array := DBMS_LDAP.create_mod_array(20);
v_vals(1) := 'CN=4321';
DBMS_LDAP.populate_mod_array(v_array,DBMS_LDAP.MOD_ADD,'cn',v_vals);
v_vals(1) := 'DN=4321,' || c_ldap_base;
DBMS_LDAP.populate_mod_array(v_array, DBMS_LDAP.MOD_ADD, 'distinguishedName', v_vals);
v_vals(1) := 'top';
v_vals(2) := 'person';
v_vals(3) := 'organizationalPerson';
v_vals(4) := 'computer';
v_vals(5) := 'user';
DBMS_LDAP.populate_mod_array(v_array, DBMS_LDAP.MOD_ADD, 'objectClass', v_vals);
v_retval := DBMS_LDAP.add_s(ld      => v_session,
                            entrydn => 'DN=4321,' || c_ldap_base,
                            modptr  => v_array);
上面的代码返回错误:

ORA-31202:DBMS_LDAP:LDAP客户端/服务器错误:命名冲突。 0000209F:UpdErr:DSID-030502C,问题6001(名称违反),数据0

从CN中删除“CN=”并从DiscrimitedName中删除“DN=”。CN应该是'4321'。DN应为'CN=4321',|c|u ldap_base