【问题标题】:in Pentaho kettle insert many objectClass in step ldap Output在 Pentaho 水壶中,在步骤 ldap 输出中插入许多 objectClass
【发布时间】:2015-05-08 19:43:26
【问题描述】:

我在我的 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

如果它们都是需要的对象和属性,我不明白为什么我会发送此错误。

【问题讨论】:

    标签: ldap pentaho etl kettle


    【解决方案1】:

    我已经解决了这个问题

    ldap 传递输出有一个部分,其中多个值的分隔符你对象类如何,然后你发送一个参数到所有对象名称都在其中定义

    是这样的:

    ObjectClass = "inetOrgPerson;organizationalPerson;person;top;shadowAccount";
    

    这是定义分隔符的地方

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多