【问题标题】:ORA-12705: Cannot access NLS data files or invalid environmentORA-12705: 无法访问 NLS 数据文件或无效环境
【发布时间】:2011-10-08 23:03:42
【问题描述】:

前几天我收到了这个烦人的 oracle 错误:ORA-12705:无法访问 NLS 数据文件或指定的环境无效。有趣的是我没有尝试访问 NLS 数据文件

【问题讨论】:

    标签: oracle


    【解决方案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 数据库不兼容。 我知道这不相关,但我相信其他人会觉得这很有用。

            【讨论】:

              猜你喜欢
              • 2011-10-13
              • 2018-09-20
              • 2013-07-28
              • 1970-01-01
              • 1970-01-01
              • 2023-03-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多