在openldap中添加初始条目返回-ldap\u add:没有这样的对象(32)

在openldap中添加初始条目返回-ldap\u add:没有这样的对象(32),ldap,openldap,Ldap,Openldap,我试图在ldap中添加两个条目,它们就在一个条目之下。但这不让我补充。错误- 添加新条目“dc=R2D2” ldap_添加:没有此类对象(32) 其他信息:无法添加条目“dc=R2D2”,因为其父条目“null”在服务器中不存在 这是在Feora29上运行的新openLDAP服务器。我尝试了许多修改我的ldif文件,但它仍然不起作用。 LDAP预期结构: dc=R2D2->o=TD 我在第4行添加了objectClass:country,因为它说: 添加新条目“dc=R2D2” ldap_添加:

我试图在ldap中添加两个条目,它们就在一个条目之下。但这不让我补充。错误- 添加新条目“dc=R2D2” ldap_添加:没有此类对象(32) 其他信息:无法添加条目“dc=R2D2”,因为其父条目“null”在服务器中不存在

这是在Feora29上运行的新openLDAP服务器。我尝试了许多修改我的ldif文件,但它仍然不起作用。 LDAP预期结构: dc=R2D2->o=TD

我在第4行添加了objectClass:country,因为它说: 添加新条目“dc=R2D2” ldap_添加:对象类冲突(65) 其他信息:无法添加条目“dc=R2D2”,因为它违反了提供的架构:该条目没有结构对象类

这是我试图通过ldapadd添加的ldif

dn: dc=R2D2
dc: R2D2
objectClass: dcObject
objectClass: country 
objectClass: top
c=DE

dn: o=TD,dc=R2D2
o: TD
objectClass: organization
objectClass: top

为失败的添加操作返回的LDAP结果代码noSuchObject(32)表示未找到父项

如果要添加的条目的
dc=R2D2
确实是完整的DN,则必须使用此特定DN作为数据库后缀来定义数据库

对于静态OpenLDAP配置方法,如下所示:

[..]
database mdb

suffix dc=R2D2
[..]

另请参见:

我想这是因为您的ldif在第4行有一个不必要的空格字符(在“country”之后,类似于“country”)

我已经能够使用以下ldif成功执行ldapadd命令,该ldif在“country”之后没有不必要的空格字符:


在没有看到数据库定义的情况下无法回答;与此无关;与主题无关。@user207421仅供参考,我没有添加任何数据库定义。只有限于Java的OpenLDAPI堆栈溢出默认值是什么?不。当然这是可以回答的。@MichaelStröder OP使用了Java标记。我把它拿走了。这不是一个编程问题,因此与主题无关。如果没有数据库定义,它是不可应答的。如果这是完整的根DN,则根据数据库的定义,它已经存在,并且无法添加。您只能添加根DN的下属。胡说八道!您可以在OpenLDAP配置中声明一个数据库,当然,您必须为此数据库添加根条目。
dn: dc=R2D2
dc: R2D2
objectClass: dcObject
objectClass: country
objectClass: top
c: DE

dn: o=TD,dc=R2D2
o: TD
objectClass: organization
objectClass: top