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

时间:2021-12-29 21:08:33

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

 

2017年5月11日

18:11

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

说明:本内容是工作用到的知识点整理,来自工作中和网络。 

代码于Oracle9上测试。

 

环境不同

DB server相同

AP server相同

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

建立相同的环境

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

再次测试

出现ORA-12705错误

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

关于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"

给注释掉.

找出上述现象

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

修改NLS_LANG

改为AMERICAN_AMERICA.ZHT16BIG5,如下图。

Oracle 9i设定

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

Oracle 10g设定

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

学习资料

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

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

人的一生应该这样度过:当他回首往事的时候,不会因为虚度年华而悔恨,也不会因为碌碌无为而羞愧。

 

来自 <http://www.cnblogs.com/htht66/archive/2012/01/29/2330991.html>

 

已使用 Microsoft OneNote 2013 创建。