我刚刚在我的笔记本电脑上安装了 Oracle 即时客户端,当我尝试通过 C# 中的 ODBC 连接时得到了这个。该机器过去安装了 9.2 和 10.2。
为什么会出现这个错误?在我的连接字符串中,我可以告诉它忽略 Oracle NLS 设置吗?
我刚刚在我的笔记本电脑上安装了 Oracle 即时客户端,当我尝试通过 C# 中的 ODBC 连接时得到了这个。该机器过去安装了 9.2 和 10.2。
为什么会出现这个错误?在我的连接字符串中,我可以告诉它忽略 Oracle NLS 设置吗?
解决方案是在以下位置找到名为 NLS_LANG 的注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
并将其重命名为其他任何内容。我在最后加了一个“x”。此密钥是完整安装 Oracle 后遗留下来的。即时客户端 ODBC 现在可以正常工作。
我遇到了同样的问题,在我的机器上 NLS_LANG 键不在ORACLE
,但在这里:
HKEY_LOCAL_MACHINE\SOFTWARE\oracle\KEY_OraClient11g_home1_32bit
通过附加“_X”重命名它,问题解决了:-)
当我尝试导入表时,我在使用 oracle 的 obiee 管理工具时遇到了同样的问题,但仅限于 32 位电脑。发现32位电脑的nls_lang键存储在注册表的两个地方,一个在ORACLE键下,另一个在oracle home键下。如上所述,从 ORACLE 键中重命名了一个,这解决了我的问题。在我的 64 位电脑上,ORACLE 下没有 nls_lang 键,这可能就是我在 64 位电脑上没有同样问题的原因。
用这个网址更新了我的 oracle sr ...