我在LDAP中插入具有以下结构的用户。
我正在使用LDAP输出步骤,如下所示。
但是在试图证明转换时发出以下错误:
2015/05/08 16:04:03 - INSERT USR LDAP.0 - ERROR (version 5.0.1-stable, build 1 from 2013-11-15_16-08-58 by buildguy) : Exception :
2015/05/08 16:04:03 - INSERT USR LDAP.0 - Error inserting for entry with DN = [uid=mark1,ou=users,dc=ldap,dc=test,dc=org]!
2015/05/08 16:04:03 - INSERT USR LDAP.0 - [LDAP: error code 65 - no structural object class provided]
2015/05/08 16:04:03 - INSERT USR LDAP.0 - ERROR (version 5.0.1-stable, build 1 from 2013-11-15_16-08-58 by buildguy) : org.pentaho.di.core.exception.KettleException:
2015/05/08 16:04:03 - INSERT USR LDAP.0 - Error inserting for entry with DN = [uid=mark1,ou=users,dc=ldap,dc=test,dc=org]!
2015/05/08 16:04:03 - INSERT USR LDAP.0 - [LDAP: error code 65 - no structural object class provided]
2015/05/08 16:04:03 - INSERT USR LDAP.0 -
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at org.pentaho.di.trans.steps.ldapinput.LDAPConnection.insert(LDAPConnection.java:354)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at org.pentaho.di.trans.steps.ldapoutput.LDAPOutput.processRow(LDAPOutput.java:251)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:60)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at java.lang.Thread.run(Thread.java:722)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - Caused by: javax.naming.directory.SchemaViolationException: [LDAP: error code 65 - no structural object class provided]; remaining name 'uid=mark1,ou=users,dc=ldap,dc=test,dc=org'
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3118)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2840)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at com.sun.jndi.ldap.LdapCtx.c_createSubcontext(LdapCtx.java:811)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_createSubcontext(ComponentDirContext.java:337)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:266)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:254)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at javax.naming.directory.InitialDirContext.createSubcontext(InitialDirContext.java:197)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - at org.pentaho.di.trans.steps.ldapinput.LDAPConnection.insert(LDAPConnection.java:351)
2015/05/08 16:04:03 - INSERT USR LDAP.0 - ... 3 more
我不明白为什么我发送这个错误,如果它们都是所需的对象和属性。
我希望你能提供帮助。
谢谢。
答案 0 :(得分:0)
我已经解决了这个问题
ldap传递输出有一个部分,其中多个值的分隔符你如何对象类,然后你发送一个参数到所有对象名称定义
因此:
ObjectClass = "inetOrgPerson;organizationalPerson;person;top;shadowAccount";
这是定义分隔符的地方