I'm trying to use the Oracle10/XE as a backend for the OpenLDAP server, using the back_sql module. I know that the unixodbc interface is working with Oracle because I can access the database with the isql tool and view the test tables.
However, when I try to run the slapd daemon I get the following error slapd -d 1 ... ==>backsql_get_db_conn() ==>backsql_open_db_conn(4294967295) backsql_open_db_conn(4294967295): SQLConnect() to database "OracleODBC" failed. Return code: -1 nativeErrCode=0 SQLengineState=IM003[iODBC][Driver Manager]Specified driver could not be loaded msg="[iODBC][Driver Manager]Specified driver could not be loaded" nativeErrCode=0 SQLengineState=00000[iODBC][Driver Manager]/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libsqora.so.10.1: undefined symbol: bcuMsgBoxError msg="[iODBC][Driver Manager]/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libsqora.so.10.1: undefined symbol: bcuMsgBoxError" backsql_get_db_conn(): could not get connection handle -- returning NULL backsql_db_open(): connection failed, exiting backend_startup_one: bi_db_open failed! (1) slapd shutdown: initiated
I haven't found where the bcuMsgBoxError symbol is defined (but it shouldn't be needed since /usr/bin/isql works just fine).
Anyways, I thought I'd try configuring the anon-CVS source --without-threads and found that the thr_stubs.c needed a do-nothing function to satisfy the references below ... hence the attached patch.
connection.o: In function `connection_operation':/home/owen/rk/nim/openldap/openldap-cvs/servers/slapd/connection.c:1044: undefined reference to `ldap_pvt_thread_pool_tid' connection.o: In function `connection_fake_init':/home/owen/rk/nim/openldap/openldap-cvs/servers/slapd/connection.c:1955: undefined reference to `ldap_pvt_thread_pool_tid'
However, any insight on resolving the bcuMsgBoxError problem and getting Oracle to work as the back-end would be greatly appreciated. BTW - I'm using Ubuntu 6.05 Linux.
Thanks, R.K.
R.K.Owen,PhD rk@owen.sj.ca.us LBNL/NERSC rkowen@nersc.gov Univ. of California, Berkeley Wrk:(510)486-7556
R.K. Owen wrote:
Anyways, I thought I'd try configuring the anon-CVS source --without-threads and found that the thr_stubs.c needed a do-nothing function to satisfy the references below ... hence the attached patch.
Thanks for the patch; however, according to our submission policy, you should post it through the ITS http://www.openldap.org/its/ so that its processing can be tracked.
Index: libraries/libldap_r/thr_stub.c
RCS file: /repo/OpenLDAP/pkg/ldap/libraries/libldap_r/thr_stub.c,v retrieving revision 1.27 diff -u -u -r1.27 thr_stub.c --- libraries/libldap_r/thr_stub.c 3 Jan 2006 22:12:09 -0000 1.27 +++ libraries/libldap_r/thr_stub.c 26 Oct 2006 16:26:32 -0000 @@ -229,4 +229,10 @@ return(0); }
+ldap_pvt_thread_t ldap_pvt_thread_pool_tid( void *vctx ) +{
- return(0);
+}
#endif /* NO_THREADS */
For the rest of your posting, it relates to OpenLDAP usage, not devel, so I suggest you re-post your request to openldap-software@openldap.org. In any case at a first glance it rather sounds like a misconfiguration of either slapd or of the ODBC, or of the interaction of the two.
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.n.c. Via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ------------------------------------------ Office: +39.02.23998309 Mobile: +39.333.4963172 Email: pierangelo.masarati@sys-net.it ------------------------------------------