LDAP_TYPE_OR_VALUE_EXISTS refers to LDAP Result Code 20 which is returned in LDAP Result indicating that the attribute value or AttributeType value specified in a Modify Request or Add Request already exists.

Often manifests when attempting to add a value to a SINGLE-VALUE attribute without first removing the existing value.

Trouble Shooting#

Unfortunately, the LDAP_TYPE_OR_VALUE_EXISTS text returned by LDAP typically does not identify the attribute causing the problem.

To identify exactly which attribute is throwing the error, use a LDIF file to comment out suspect attributes one at a time. The attribute can be commented out by placing a # as the first character in the line. After commenting out a mapping, import the LDIF file. If the error disappears, you have identified the problem attribute.

Microsoft Active Directory#

Does identify the attribute. In the Example shown below:
      <ldap-err ldap-rc="20" ldap-rc-name="LDAP_ATTRIBUTE_OR_VALUE_EXISTS">
        <client-err ldap-rc="20" ldap-rc-name="LDAP_ATTRIBUTE_OR_VALUE_EXISTS">Attribute Or Value Exists</client-err>
        <server-err>00002081: AtrErr: DSID-030F154F, #1:
        0: 00002081: DSID-030F154F, problem 1006 (ATT_OR_VALUE_EXISTS), data 0, Att 8 (st)</server-err>
        <server-err-ex win32-rc="8321"/>

The "Att 8 (st)" indicates the attribute St is the culprit.

Other LDAP Server Implementations should take note of this feature.

More Information#

There might be more information for this subject on one of the following: