[Oracle整理]ORA-12705(字符集问题)

说明:本内容是工作用到的知识点整理,来自工作中和网络。
代码于Oracle9上测试。

 

环境不同

DB server相同

AP server相同

AP server上的DOTNET 版本相同——都是.NET 3.5SP1

建立相同的环境

客户端不相同,我的计算机上装的是10.2.0。AP server上装的是9.2.0

再次测试

出现ORA-12705错误

clip_image002

关于ORA-12705

第一种解释

ORA-12705语系设定错误

在regedit的\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下找到NLS_LANG机码予以删除就可以work

出现ORA-12705的错误讯息,原因是NLS_LANG在regedit机码值是NA

为语系的编码,是我在自己的计算机上安装了Oracle Client后又移除所遗留下来的.

因此只要在regedit的\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下找到NLS_LANG机码予以删除就可以work

第二种解释

在环境变量中加一项:NLS_LANG , 值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

100%解决你的问题

第三种解释

Oracle Instant Client ORA-12705 错误

问题: 使用Oracle Instant Client 出现 ORA-12705: Cannot access NLS data files or invalid environment specified 错误。

如果是Windows平台,注册表里 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 查找键 NLS_LANG,这个键由Oracle标准客户端安装创建, 值是 NA 。这个导致了 ORA-12705错误。解决方法就是改名 NLS_LANG。

Linux下 如果环境变量 NLS_LANG 值是NA 会引起 ORA-12705 错误,解决方法是删除这个变量,如/home/oracle1/.profile中的

export NLS_LANG="SIMPLIFIED_CHINA.ZHS16GBK"

给注释掉.

找出上述现象

clip_image004

修改NLS_LANG

改为AMERICAN_AMERICA.ZHT16BIG5,如下图。

Oracle 9i设定

clip_image006

Oracle 10g设定

clip_image008

学习资料

1 http://space.itpub.net/8475224/viewspace-692675

2 http://blog.chinabyte.com/a/500815.html

posted @ 2012-01-29 11:49  yellowwood  阅读(16848)  评论(0编辑  收藏  举报
Never Give UP