用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}/