日期:2014-05-16  浏览次数:21034 次

Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法

       前几天装完了Navicat for Oracle的这个Oracle客户端工具之后,一直再用没有出现什么错误,直到我将它装到了学校机房的电脑上,错误就出现了,一开始我以为是那几个需要的dll文件没有配置好,便将之前博客写的那几个dll文件重新配置并检查了一下,我认为这就没有什么事了,当我再次打开软件的时候,还是那个错误,看来现在只有上网去找解决的办法了,经过几分钟的寻找,终于找到了解决错误的办法。下面我来说一下解决的办法:

首先当用该工具进行新建连接,点击“连接测试”按钮的时候,会出现如下的的错误:

ORA-12705: Cannot access NLS data files or invalid environment specified

如图所示:

其实不止这个软件会出现这个错误,别的客户端工具也可能会出现该错误,出现错误的原因可能是因为系统中安装了别的Oracle版本的事,某项的注册表设置的有问题,而学校机房的电脑上安装了Oracle 9i这个版本的数据库,因此导致上述的错误。对于这个解决的办法很简单,只要修改注册表就行了。首先在Windows下按Win+R组合键,打开运行对话框,输入“regedit”命令,打开注册表,依次找到如下的位置:

\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

查找键“NLS_LANG”这个键,这个键由Oracle标准客户端安装创建, 值是 NA 。这个就是导致了 ORA-12705错误原因。只要将它的值(NV)修改为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”就行了。

如图所示:

但是每次都这样的修改是不是很麻烦呢,所以我们写成一个注册表文件,文件的内容如下所示:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]

"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

将该文件保存为“Oracle.reg”就行了,以后只要双击该文件就可以修改注册表了。对了别忘前提是你的将那几个dll的文件配置一下,否则会出现别的错误。