Problem with DBI and DBD::Oracle
am 14.09.2006 01:45:15 von ThomasWerges-------------------------------1158191115
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
I'm attempting to connect to an Oracle (9.0.1) database and have an Oracle9
client installed on a Windows XP machine. I installed ActivePerl 5.8.8 (build
819) which came with DBI 1.5.2 pre-installed. Then I used the perl package
manager to install DBD::Oracle 1.1.7. The installations completed successfully.
I can verify the DBI and DBD packages using the perl package manager.
Unfortunately, when I run this line of code:
$dbh = DBI->connect('DBI:Oracle:dev','username','password') or die "Couldn't
connect to oracle:" . DBI->errstr;
....it fails. I get a popup that says: "The procedure entry point
OCINlsEnvironmentVariableGet could not be located in the dynamic link library OCI.dll."
After I click "OK" the command line displays the following error string:
install_driver(Oracle) failed: Can't load
'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:The specified procedure could
not be found at c:/Perl/lib/DynaLoader.pm line 230.
at (eval 4) line 3
Compilation failed in require at (eval 4) line 3.
Perhaps a required shared library or dll isn't installed where expected
at db.pl line 5"
Note that I have both Oracle.dll and DynaLoader.pm in the correct locations
according to the paths in the error string. Also note that I can connect to
Oracle using sqlplus, using the SID and username/password combination I use in
the DBI->connect call.
I searched for information about this but couldn't find anything useful.
Another thread suggested that the "OCINlsEnv" popup can be caused by using an
incompatible Oracle8 client and suggested upgrading to Oracle9; however I'm
already using Oracle9.
Any help would be appreciated.
Tom W
-------------------------------1158191115--