activeperl连接oracle失败,请教。

activeperl连接oracle失败,请教。

初次用dbi 连接oracle(已安装dbd::oracle 及oracle客户端,sql*plus能正常工作了)
代码
#! /usr/bin/perl
use warnings;
use strict;
use DBI;
$ENV{"NLS_LANG"} = 'AMERICAN_AMERICA.ZHS16GBK';
$ENV{"ORACLE_HOME"} = 'C:\oracle\ora81';
my $user_id='user_name';
my $passwd='my_pass';
my $dbh = DBI->connect("dbi:Oracle:host=10.243.11.11;sid=test",
                       $user_id
                       $passwd
                       ) || die "can NOT connect";

my $sql = 'select * from bb_service_t WHERE user_id=5538';
my $sth = $dbh->prepare($sql);

$sth->execute();
$dbh->disconnect();

提示如下:
无法定位程序输入点OCINlsEnvironmentVariableGet于动态链接库OCI.dll上。
install_driver(Oracle) failed: Can't load 'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:找不到指定的程序。 at C:/Perl/lib/Dyna
Loader.pm line 229.  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 test.pl line 10
,请各位帮忙看看。

有可能是环境变量没有设置好。你可以试试修改.bash_profile 文件。把oracle的一些文件路径写在里面再试下。我以前也有这种类似的问题通过这个方法解决的。不过不知道你这个行不行。你可以试试


QUOTE:
原帖由 weicr 于 2008-2-18 14:24 发表
初次用dbi 连接oracle(已安装dbd:racle 及oracle客户端,sql*plus能正常工作了)
代码
#! /usr/bin/perl
use warnings;
use strict;
use DBI;
$ENV{"NLS_LANG"} = 'AMERICAN_AMERICA.ZHS16GBK';
$ENV{ ...

已搞定,之前DBD::Oracle我 是在activeperl 的ppm包管理中安装的(图形界面的那个)。
把ActivePerl删了重装,再在dos界面用 ppm install DBD-Oracle安装就行了。
整了老半天,浪费时间啊。千万别用ppm install DBD::Oracle,能装,但装好之后就是不能连接数据库!!!