[hobbit] pb with hobbit-perl-client and dbcheck
Some more information from the README of DBD::Oracle 1.18a
From: John Scoles <scoles at pythian.com> Date: Fri, 29 Sep 2005 10:48:47 -0700 (EST) Subject: RE: Oracle 10g Instantclient
The Makefile.PL will now work for Oracle 10g Instantclient. To have both the Compile and the test.pl to work you must first have the LD_LIBRARY_PATH correctly set to your "instantclient" directory. (http://www.oracle.com/technology/tech/oci/instantclient/instantclient.h tml) The present version of the make creates a link on your "instantclient" directory as follows "ln -s libclntsh.so.10.1 libclntsh.so". It is needed for both the makefile creation and the compile but is not need for the test.pl. It should be removed after the compile. If the Makefile.PL or make fails try creating this link directly in your "instantclient" directory.
Hoping this could solve the problem...
-----Original Message----- From: Olivier Boyaval [mailto:oboyaval at ch-bethune.fr] Sent: Tuesday, September 19, 2006 10:00 AM To: hobbit at hswn.dk Subject: RE: [hobbit] pb with hobbit-perl-client and dbcheck
Hello,
* /To/: <hobbit (at) hswn.dk> * /Subject/: RE: [hobbit] pb with hobbit-perl-client and dbcheck * /From/: "Francesco Duranti" <fduranti (at) q8.it> * /Date/: Tue, 19 Sep 2006 00:04:57 +0200 * /Thread-index/: AcbbXNjiyCoEBWDISL+6vz/9wLlMUwAD3t5g * /Thread-topic/: [hobbit] pb with hobbit-perl-clientand dbcheck
-- I've not tested the dbcheck.pl with the InstantClient because I've a full 10r2 client installed on the machine but checking on some mailing list archive it seems that InstantClient and DBD::Oracle have some problems working together.... One suggestion I've found was to set the Oracle_home (in the dbcheck.ini file) to the lib directory instead of the root into which the instant client is installed (something like /usr/lib/oracle/10.2.0.2/client/lib)...
With Instantclient, there's not lib directory, my ORACLE_HOME and my LD_LIBRARY_PATH are OK
Another thing is to check that you have the following package installed (took from the DBD:Oracle readme)
- The "Basic" package for the essential Oracle libraries.
- The "SDK" package for the headers and makefile.
- The "SQL*Plus" component is optional, but will help you check your configuration and DBD::Oracle determine your Oracle version.
it's OK for this package
Then you can try to define the full hostname/port/sid/user/password in the dbcheck.ini file under the db you want to configure (it should skip the tnsnames.ora and go through to the db server). Or you can try to define your db in a tnsnames.ora under $ORACLE_HOME/network/admin and put only sid username and password in the dbconfiguration.
I tested with bbcmd and sqlplus, I can connect with the database I tested with bbcmd and the next perl script and I can also connect with the database
use DBI; $dbh = DBI->connect("dbi:Oracle:host=server;sid=SID;port=1521", "user", "password");
What version of DBD::Oracle module are you using? Did it compile/test successfully? Can you check if with sqlplus you can connect correctly to that database?
DBD::Oracle 1.18 I have detected a pb with the Makefile.PL of DBD :
Configuring DBD::Oracle for perl 5.008003 on linux (x86_64-linux-thread-multi)
Remember to actually *READ* the README file! Especially if you have any problems.
Using Oracle in /opt/instantclient SP2-1503: Unable to initialize Oracle call interface SP2-0152: ORACLE may not be functioning properly
If sqlplus failed due to alinker/symbol/relocation/library error or similar problem then it's likely that you've not configured your environment correctly. Specifically, your LD_LIBRARY_PATH environment variable set to include the directory containing the Oracle libraries.
I'm having trouble finding your Oracle version number... trying harder
WARNING: I could not determine Oracle client version so I'll just default to version 8.0.0.0. Some features of DBD::Oracle may not work. Oracle version based logic in Makefile.PL may produce erroneous results. You can use "perl Makefile.PL -V X.Y.Z" to specify a your client version.
Oracle version 8.0.0.0 (8.0) Looks like an Instant Client installation, okay Your LD_LIBRARY_PATH env var is set to '/opt/instantclient/'
I will test with "perl Makefile.PL -V 10.2.0"
Francesco Cordialement
Olivier Boyaval
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk
Hello,
Francesco Duranti a écrit :
Some more information from the README of DBD::Oracle 1.18a
From: John Scoles <scoles at pythian.com> Date: Fri, 29 Sep 2005 10:48:47 -0700 (EST) Subject: RE: Oracle 10g Instantclient
The Makefile.PL will now work for Oracle 10g Instantclient. To have both the Compile and the test.pl to work you must first have the LD_LIBRARY_PATH correctly set to your "instantclient" directory. (http://www.oracle.com/technology/tech/oci/instantclient/instantclient.h tml) The present version of the make creates a link on your "instantclient" directory as follows "ln -s libclntsh.so.10.1 libclntsh.so". It is needed for both the makefile creation and the compile but is not need for the test.pl. It should be removed after the compile. If the Makefile.PL or make fails try creating this link directly in your "instantclient" directory.
Hoping this could solve the problem...
I have recompiled the DBD:Oracle correctly and "make test" it's OK when I set correctly the ORACLE_USERID variable.
LD_LIBRARY_PATH and ORACLE_HOME are correctly setting
In command "server\bin\bbcmd bash", I have verified this 2 variables and made the "make test". the result is OK.
When I test with dbcheck.pl (in bbcmd) I have always the same error :
Tue Sep 19 12:41:37 2006:CALL : Hobbit_fd_lib::open_db_connection line 741 Tue Sep 19 12:41:37 2006:DEBUG: db_conn ERRCONNECT=ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc.
I have added the print of perl variables before connecting to verify and I have $db = DBI:Oracle:host=server;port=1521;sid=SID
Olivier
-- Olivier Boyaval
Hello,
I have installed the full oracle client instead of the oracle instant client and the hobbit perl client can be connected with the database. :-)
With the last version of the hobbit perl client, I have to set LANG=en_EN:UTF-8 because I have some warning with conv_str_to_time function.
Cdl
Olivier
participants (2)
-
fduranti@q8.it
-
oboyaval@ch-bethune.fr