用perl链接oracle 出现ORA-12705 问题的解决

最近用perl链接数据库出现一下问题:

连接数据库 XXTDB_100.....
DBI connect('XXTDB_100','xxt_prod',...) failed: ORA-12705: Cannot access NLS data files or invalid environment specified (DBD ERROR: OCISessionBegin) at E:\work
\perl_log\test\test.pl line 160 at E:\work\perl_log\test\test.pl line 16.

网上找了下 原来是NLS_LANG在注册表里的值是NA,这是安装了Oracle Client 又卸载而遗留下来的,只要在
\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下找到NLS_LANG刪除就可以了

这样改后 中文好像出现了乱码 一会在看看怎么解决。

--------------------------------------------------------------------------------

中文乱码问题解决了:
添加环境变量:NLS_LANG    值为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
这样通过perl从数据库里select到的中文就不会乱码了。

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

环境:winXP  ActivePerl 5.8.8 Build 819  Oracle9

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

ppm install DBD-ORACLE

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

perl 匹配中文

汉字编码匹配

BIG5
/([\xa4-\xfe][\x40-\x7e\xa1-\xfe])/

GB
/[\xa1-\xfe]{2,2}/