Problem with DBI and DBD::Oracle

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--

Re: Problem with DBI and DBD::Oracle

am 14.09.2006 10:00:27 von Alexander

--------------080105020802050007040301
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

A Standard Problem. OCIW32.DLL is not properly installed. See attached file.

Alexander

On 14.09.2006 01:45, ThomasWerges@aol.com wrote:

>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
>
>
>
>


--
Alexander Foken
mailto:alexander@foken.de http://www.foken.de/alexander/


--------------080105020802050007040301--