Perl DBI::Oracle 出现问题的解决方法

just posted @ 2008年12月20日 20:37 in 脚本 , 4719 阅读

环境:winXP  ActivePerl 5.8.8 Build 819  Oracle9

今天想用perl连接公司的一台Oracle数据库,但是perl要安装DBD::Oracle模块:

ppm install DBD-ORACLE

本以为装完就OK,可是运行如下perl程序出现问题:
一下是代码:

 

use DBI;

$dbname="XXTDB_11";

$user="xxt_mt";

$passwd="mt#456";

$dbh="";

#连接数据库

$dbh = DBI->connect("dbi:Oracle:$dbname",$user,$passwd) or die "can't connect to

database "
. DBI-errstr;


#执行sql语句

$sth=$dbh->prepare("Select * from xxt_prod.kiosk t ");

$sth->execute;


#读取记录数据

while (@recs=$sth->fetchrow_array) {

print $recs[0].":".$recs[1].":".$recs[2]."\n";

 

}

$dbh->disconnect;

 


错误提示:
error "ORA-12705: Cannot access NLS data files or invalid environment specified"

最后在这里找到了答案:http://blog.xuite.net/yukai/klovek/7946037

   如果在同一台电脑上已经先安装了标准的 Oracle Database Client,就会出现这个错误信息,解決方法:打开注册表 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 內找出 NLS_LANG ,这个键值现在应该是 NA,也是导致 ORA-12705 错误的原因,因此將 NLS_LANG 的值改为AMERICAN_AMERICA.ZHS16GBK 就可以正常使用了。

 

  • 无匹配
  • 无匹配

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter