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
 

Reply via email to