oracle ORA-12705: 无法访问 NLS 数据文件或指定的环境无效
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/6835995/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
ORA-12705: Cannot access NLS data files or invalid environment specified
提问by Daniel Williams
I just installed the Oracle instant client on my laptop, and get this when I try to connect via ODBC in C#. The machine has had 9.2 and 10.2 installed in the past.
我刚刚在我的笔记本电脑上安装了 Oracle 即时客户端,并在我尝试通过 C# 中的 ODBC 连接时得到了这个。该机器过去安装了 9.2 和 10.2。
Why does this error appear? In my connection string, can I tell it to ignore the Oracle NLS settings?
为什么会出现这个错误?在我的连接字符串中,我可以告诉它忽略 Oracle NLS 设置吗?
回答by Daniel Williams
The solution was to find the registry key named NLS_LANG under:
解决方案是在以下位置找到名为 NLS_LANG 的注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
and rename it to anything else. I put an "x" at the end. This key is left over from a full install of Oracle. The instant client ODBC works properly now.
并将其重命名为其他任何名称。我在最后放了一个“x”。该密钥是完全安装 Oracle 时遗留下来的。即时客户端 ODBC 现在可以正常工作。
回答by dr pain
I had the same problem, at my machine the NLS_LANG key was not in ORACLE
, but here:
我遇到了同样的问题,在我的机器上,NLS_LANG 键不在 中ORACLE
,但在这里:
HKEY_LOCAL_MACHINE\SOFTWARE\oracle\KEY_OraClient11g_home1_32bit
HKEY_LOCAL_MACHINE\SOFTWARE\oracle\KEY_OraClient11g_home1_32bit
Renamed it by appending "_X", problem solved :-)
通过附加“_X”重命名它,问题解决了:-)
回答by user1984427
i had same problem with oracle's obiee admin tool, when i tried to import tables, but only on 32bit pc's. found that the 32bit pc's stored the nls_lang key in two places in the registry, one under the ORACLE key and another one under the oracle home key. renamed the one from the ORACLE key as noted above and this fixed my problem. on my 64bit pc there was no nls_lang key under ORACLE, and thats probably why i didn't have the same problem on the 64bit pc's.
当我尝试导入表时,我在使用 oracle 的 obiee 管理工具时遇到了同样的问题,但仅限于 32 位 PC。发现 32 位 pc 在注册表中的两个位置存储了 nls_lang 键,一个在 ORACLE 键下,另一个在 oracle home 键下。如上所述,从 ORACLE 密钥中重命名了一个,这解决了我的问题。在我的 64 位电脑上,ORACLE 下没有 nls_lang 键,这可能就是为什么我在 64 位电脑上没有同样问题的原因。
updated my oracle sr with this url...
用这个 url 更新了我的 oracle sr ...