[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: problem with back-sql and getting error about no structural object class provided
- To: <openldap-software@OpenLDAP.org>
- Subject: RE: problem with back-sql and getting error about no structural object class provided
- From: "Neulinger, Nathan" <nneul@umr.edu>
- Date: Wed, 21 May 2003 11:57:46 -0500
- Content-class: urn:content-classes:message
- Thread-index: AcMfuLmnJROmL/SCTcG9zc6J9fqDTAAAT0RA
- Thread-topic: problem with back-sql and getting error about no structural object class provided
Think I figured this out. My 'umrAccount' objectclass was auxilliary. I
can just redefine it to be structural and have all of the elements that
a posixAccount would have.
Is there a better way to do this?
-- Nathan
------------------------------------------------------------
Nathan Neulinger EMail: nneul@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
> -----Original Message-----
> From: Neulinger, Nathan
> Sent: Wednesday, May 21, 2003 11:48 AM
> To: openldap-software@OpenLDAP.org
> Subject: problem with back-sql and getting error about no
> structural object class provided
>
>
>
> I added:
>
> Debug( LDAP_DEBUG_TRACE,
> "backsql_id2entry(): "
> "failed structural class
> check (%s)\n",
> text, 0, 0);
>
> in the failure case in back-sql/entry-id.c after it checks
> structural_class(). I get a complaint about no structural object class
> provided.
>
> Any ideas on what could be causing this problem? Database
> structure I'm
> testing with is very simplistic. Object class of what I'm returning is
> 'umrAccount', which is a posixAccount with a single added attribute.
>
> Here's what I see in a trace:
>
> ==>backsql_oc_get_candidates(): oc='umrAccount'
> ==>backsql_srch_query()
> ==>backsql_process_filter()
> <==backsql_process_filter()
> <==backsql_srch_query()
> Constructed query: SELECT DISTINCT
> ldap_entries.id,unix_passwd.id,'umrAccount' AS
> objectClass,ldap_entries.dn AS dn FROM ldap_entries,unix_passwd WHERE
> unix_passwd.id=ldap_entries.keyval AND ldap_entries.oc_map_id=? AND
> ldap_entries.dn LIKE ? AND NOT ('umrAccount' IS NULL)
> dn '%DC=UMR,DC=EDU'
> backsql_oc_get_candidates(): added entry id=1, keyval=1
> dn='uid=nneul,dc=umr,dc=edu'
> <==backsql_oc_get_candidates()
> backsql_search(): loading data for entry id=1, oc_id=1, keyval=1
> ==>backsql_id2entry()
> >>> dnPrettyNormal: <uid=nneul,dc=umr,dc=edu>
> => ldap_bv2dn(uid=nneul,dc=umr,dc=edu,0)
> <= ldap_bv2dn(uid=nneul,dc=umr,dc=edu,0)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(uid=nneul,dc=umr,dc=edu,272)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(uid=nneul,dc=umr,dc=edu,272)=0
> <<< dnPrettyNormal: <uid=nneul,dc=umr,dc=edu>,
> <uid=nneul,dc=umr,dc=edu>
> backsql_id2entry(): retrieving all attributes
> ==>backsql_get_attr_vals(): oc='umrAccount'
> attr='objectClass' keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='ref' keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='cn' keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='loginShell' keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='uidNumber' keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='homeDirectoryOSX'
> keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='homeDirectory'
> keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='uid' keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='gecos' keyval=1
> <==backsql_get_attr_vals()
> ==>backsql_get_attr_vals(): oc='umrAccount' attr='gidNumber' keyval=1
> <==backsql_get_attr_vals()
> backsql_id2entry(): failed structural class check (no
> structural object
> class provided)
> backsql_search(): error in backsql_id2entry() - skipping entry
> send_ldap_result: conn=0 op=1 p=3
> send_ldap_result: err=0 matched="" text=""
> send_ldap_response: msgid=2 tag=101 err=0
> ber_flush: 14 bytes to sd 11
> <==backsql_search()
> connection_get(11)
> connection_get(11): got connid=0
> connection_read(11): checking for input on id=0
> ber_get_next
> ber_get_next: tag 0x30 len 5 contents:
>
> -- Nathan
>
> ------------------------------------------------------------
> Nathan Neulinger EMail: nneul@umr.edu
> University of Missouri - Rolla Phone: (573) 341-4841
> Computing Services Fax: (573) 341-4216
>
>