ORA-12705: 无法访问 NLS 数据文件或无效环境
Posted
技术标签:
【中文标题】ORA-12705: 无法访问 NLS 数据文件或无效环境【英文标题】:ORA-12705: Cannot access NLS data files or invalid environment 【发布时间】:2011-10-08 23:03:42 【问题描述】:前几天我收到了这个烦人的 oracle 错误:ORA-12705:无法访问 NLS 数据文件或指定的环境无效。有趣的是我没有尝试访问 NLS 数据文件
【问题讨论】:
【参考方案1】:有两种可能的原因:
尝试使用无效的 NLS 参数或值发出 ALTER SESSION 语句。
NLS_LANG 环境变量包含无效的语言、地区或字符集。
修复:
取消设置 NLS_LANG 环境变量
Windows - NLS_LANG 必须在 Windows 注册表中取消设置(最好重新命名)。在 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 的注册表中查找 NLS_LANG 子项,并将其重命名。
Linux/UNIX - 在这里您只需发出 Linux 命令“unset NLS_LANG”
【讨论】:
【参考方案2】:我有 Oracle 10g XE 和 Windows 7。我解决了这个问题:
转到控制面板 > 区域和语言选项 > 格式化并设置您的语言。
【讨论】:
此分类为评论,而非完整答案 这是唯一对我有用的方法,谢谢。 在 windows 10 中:转到“控制面板 > 区域 > 格式”,然后将格式设置为“英语(美国)”,然后重新启动您的客户端工具(例如:oracle sql developer)。跨度> 【参考方案3】:按照此过程为 Oracle 数据库设置 NLS_LANG 环境变量。 为 Oracle 数据库设置 NLS_LANG 环境变量 确定 NLS_LANG 值。 在数据仓库数据库中,运行命令 从 V$NLS_PARAMETERS 中选择 *
记下 NLS_LANG 值,其格式为 [NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]。 例如:American_America.UTF8 对于 Windows: 导航到控制面板 > 系统,然后单击高级选项卡。单击环境变量。 在系统变量部分中,单击新建。 在变量名称字段中,输入 NLS_LANG。 在变量值字段中,输入在步骤 1 中返回的 NLS_LANG 值。 NLS_LANG 值的格式应为 [NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]。 例如:American_America.UTF8。 对于 UNIX,如下所示设置变量: setenv NLS_LANG
例如:setenv NLS_LANG American_America.UTF8。 如果您的数据是 7 位或 8 位 ASCII 并且 Informatica Server 在 UNIX 上运行,则设置 NLS_LANG _.WE8ISO8859P1 注意:确保按照此过程中所述正确设置 NLS_LANG 变量,否则您的数据将无法正确显示。
创建变量后重启机器。
【讨论】:
【参考方案4】:就我而言,我在 oracle weblogic 控制台中创建了一个数据库适配器,通过执行以下配置来解决问题。 Windows -> 控制面板 -> 地区: 1. 将格式更改为英语(美国)日期格式 M / d / yy 和 2. 将我的地址更改为美国。执行此配置,因为我的机器是用西班牙语配置的,然后重新启动计算机,我就可以正常工作了。
【讨论】:
所以在最新版本的 Win10 中,您无法从控制面板更改地址,所以只需更改其余部分,这对我有用。 为我工作。进行更改后不要忘记重新启动电脑。【参考方案5】:在 Oracle Instant 客户端 的环境变量中添加路径后,Oracle SQLPLUSW 转到 Oracle Instant 客户端,对于该客户端,它需要设置 NLS LANG AS American_America.UTF8
【讨论】:
【参考方案6】:您也可以在 oracle 设置中设置 NLS 配置
【讨论】:
【参考方案7】:如果上述解决方案没有帮助,可以尝试我的解决方案。我刚刚将最新版本的Ojdbc14.jar
替换为旧版本的Ojdbc5.jar
。它帮助我解决了我的问题。
【讨论】:
对于 Oracle 12C,我使用了 ojdbc7.jar,解决了我的问题。【参考方案8】:我试图在指向 11g 数据库的 WebLogic 12c 上配置我的数据源,但我一直收到此错误。我发现 WL 12c 与 oracle 11g 数据库不兼容。 我知道这不相关,但我相信其他人会觉得这很有用。
【讨论】:
以上是关于ORA-12705: 无法访问 NLS 数据文件或无效环境的主要内容,如果未能解决你的问题,请参考以下文章
oracle 9i:ora-12705 指定的 nls 参数值无效或未知
ORA-12705: Cannot access NLS data files or invalid environment specified
ORA-12705: Cannot access NLS data files or invalid environment specified