千家信息网

解决ORA-12705无法访问NLS问题

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,通过putty sql_plus 连接数据库报错:ORA-12705:Cannot access NLS data files or invalid environment specified此问题主
千家信息网最后更新 2025年11月09日解决ORA-12705无法访问NLS问题

通过putty sql_plus 连接数据库报错:
ORA-12705:Cannot access NLS data files or invalid environment specified

此问题主要是putty登录后的系统linux/windows当前环境变量NLS_LANG设置和数据库NLS_LANG参数变量不一致导致.

NLS_LANG参数由以下部分组成:
NLS_LANG=[Language]_[Territory].[Clients Characterset]

NLS_Language 指定:

  • Oracle(错误)信息的语言
  • 日和月份的名称
    注意:NLS_LANGUAGE与插入和查询的数据的语言无关。

NLS_Territory 指定:

  • 货币和数字格式
  • 计算星期和天数的范围和惯例

客户端字符集(CLIENTS CHARACTERSET):

  • 定义Oracle客户端,客户应用使用的编码
  • 或者它要符合您Microsoft Windows代码页 (GUI工具的ACP, 命令提示符的CHCP 值)
  • 或者为Unicode WIN32应用设置为UTF8/AL32UTF8。

1.首先查询数据库的语言字符集环境变量;

 SELECT  (SELECT VALUE  from nls_database_parameters WHERE parameter='NLS_LANGUAGE') ||'_'||  (SELECT VALUE  from nls_database_parameters WHERE parameter='NLS_TERRITORY') ||'.'||   (SELECT VALUE  from nls_database_parameters WHERE parameter='NLS_CHARACTERSET') NLS_LANG FROM dual;

注意:

select userenv('language') from dual;--或select * from v$nls_parameters;

如上查询只能查询出数据库当前session的语言字符集,

2.在putty linux 中查询当前的环境变量NLS_LANG是否和数据库语言字符集保持一致.

env | grep NLS_LANG

3.不一致则使用export 命令设置linux环境变量NLS_LANG的值
linux例如:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

如果要永久更新此变量需要在.bash_profile文件中设置或添加的NLS_LANG
例如:vi ~/.bash_profile

注:远程机器如果为windows;
windows设置NLS_LANG有三种方式
1.cmd命令如下:
set nls_lang=AMERICAN_AMERICA.AL32UTF8

2..注册表设置(永久生效)
默认情况下,windows上的Oracle安装使用注册表来定义这个设置。
版本 10g 及以上:
HKEY_LOCALMACHINE\SOFTWARE\ORACLE\KEY
这里您会看到一个条目名为NLS_LANG

在64位windows平台上安装32位软件,会使用32位兼容性路径
HKEY_LOCALMACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY

3..操作系统环境变量
尽管注册表是Microsoft Windows设置的主要存储位置,它不是唯一可以设置参数的地方。
虽然不推荐,但您可以设置NLS_LANG为系统属性中的系统或者用户变量。这个设置会被所有Oracle home使用。
设置位置: '我的电脑' -> '属性' > '高级' -> '环境变量'

变量 数据 环境 数据库 语言 查询 字符 字符集 系统 一致 参数 命令 客户 注册表 位置 客户端 属性 永久 应用 高级 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 类似gen8的服务器 崩坏3网络安全存在隐患 学了java还要学数据库 小课堂2021网络安全宣传周 sql数据库实用案例教程 罗平天气预报软件开发 汽车零部件软件开发标准 重庆市服务器代理公司 计算机与网络技术类图形图像处理 苏州软件开发公司副总工资多少 网络安全活动总结1000字 浅谈 网络安全防范措施 广州伊蓝雪网络技术有限公司 织梦cms数据库 公安局网络安全自查方案 网络安全中的不可否认是什么 重庆计算机软件开发靠谱吗 企业邮箱服务器架构 肖鹏超市采购数据库管理系统 即时通讯软件开发需要什么条件 包河区品牌网络技术服务怎么样 玉溪市网络安全领导小组 计算机与网络技术类图形图像处理 中兴软件开发出去好找工作吗 服务器一个月的电费多少钱 市北区软件开发视频 sql 数据库名 台州桌面软件开发流程八个步骤 首都网络安全日 2018 网络技术的不足之处
0