ora-12705错误解决

开发上报数据库远程连接错误ora-12705。经查问题原因为NLS_LANG设置问题

关键字:ora-12705 NLS_LANG

[@more@]

环境

客户端OS

[oracle@TREMEDY ~]$ uname -a
Linux TREMEDY 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

服务器端OS

$ uname -a
AIX TodsDB 1 6 00C0B0F64C00

数据库

oracle 11.2.0.2.0

报错

SQL> conn ccicar/ccicar@ccictst1

ERROR:

ORA-12705: Cannot access NLS data files or invalid environment specified

处理

查看客户端env

NLS_LANG=zhs16gbk

其余略

修改NLS_LANG

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

问题解决

解释

NLS_LANG参数由以下部分组成:

NLS_LANG=_.

NLS_LANG各部分含义如下:

LANGUAGE指定:

-Oracle消息使用的语言

-日期中月份和日显示

TERRITORY指定

-货币和数字格式

-地区和计算星期及日期的习惯

CHARACTERSET:

-控制客户端应用程序使用的字符集

_需要客户端主机支持,CHARACTERSET需要客数据库一致。本问题中的客户端不支持中文,故NLS_LANG设置为”Simplified Chinese_china".ZHS16GBK不能解决问题,另外值建议大写。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21129591/viewspace-1057954/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21129591/viewspace-1057954/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ORA-12705错误表示Oracle数据库无法访问所需的NLS设置。NLS代表"National Language Support",是Oracle数据库用来处理多语言字符集的特性。 通常,ORA-12705错误是由于Oracle数据库无法识别或找不到正确的字符集设置而引起的。要解决此问题,您可以尝试以下几种方法: 1. 检查环境变量:确保您的操作系统环境变量设置正确。特别是检查NLS_LANG和ORACLE_HOME环境变量是否正确设置。 2. 检查Oracle客户端:确保您正在使用的Oracle客户端版本与服务器版本匹配,并已正确安装。此外,您还需要检查客户端的NLS设置是否与服务器的NLS设置匹配。 3. 检查数据库字符集:确保您的数据库字符集与客户端字符集匹配。如果不匹配,您需要使用ALTER DATABASE语句更改数据库字符集。 希望这些方法能够帮助您解决ORA-12705错误。 ### 回答2: ORA-12705错误Oracle数据库的一种常见错误,通常出现在尝试连接数据库时或在操作数据库时。它意味着不能访问NLS,即国家语言支持库。这个错误出现的原因可能是因为数据的字符集和操作系统或客户端的字符集不同,或者字符集没有正确安装。 如果您遇到ORA-12705错误,要解决它,您可以采取以下几个步骤: 1. 检查您的NLS设置是否正确。您可以使用以下命令来检查您的NLS_LANG: echo $NLS_LANG 如果这个命令没有输出,则说明NLS_LANG没有设置。 2. 修改您的NLS设置。您可以使用以下命令来修改您的NLS_LANG: export NLS_LANG=[NLS_CHARACTERS_SET]_[NLS_TERRITORY].[NLS_CHARACTER_SET] [NLS_CHARACTERS_SET]可以是任何有效的字符集,如UTF8、GBK等。[NLS_TERRITORY]可以是您所在的国家或地区。[NLS_CHARACTER_SET]可以是任何有效的字符集,如UTF8、GBK等。 3. 如果您的NLS设置已经正确设置,但仍然遇到ORA-12705错误,则可能是因为您的Oracle客户端没有正确配置NLS。您可以尝试重新安装Oracle客户端并重新配置NLS。 总之,ORA-12705错误通常是由NLS设置不正确或NLS没有正确配置引起的。通过检查和修改您的NLS设置,您可以解决这个错误。如果您仍然无法解决这个问题,您可以考虑寻求支持。 ### 回答3: ORA-12705错误Oracle数据库中的一个常见错误。这个错误通常表示Oracle客户端无法访问NLS(National Language Support)环境。这种情况通常发生在客户端语言设置与数据库设置不匹配时,可能会导致字符集无法正确识别和转换。 ORA-12705可能是由下列原因引起: 1. 客户端语言设置无法匹配数据库语言设置。如果客户端语言设置与数据库不一致,那么它可能无法正常地执行字符集的转换。 2. 客户端缺少必要的NLS组件。如果客户端缺少必要的NLS(National Language Support)组件,则可能会导致ORA-12705错误。 3. 数据库字符集设置不正确。如果数据库字符集设置不正确,则会导致ORA-12705错误。 对于ORA-12705错误,可以采取以下措施: 1. 检查客户端语言设置与数据库语言设置是否一致。 2. 检查客户端是否安装了必要的NLS组件。可以检查ORACLE_HOME/nls目录下的组件是否完整。 3. 检查数据库字符集设置是否与NLS_LANG变量匹配。 4. 针对Windows环境,在注册表中设置NLS_LANG参数。 5. 如果采取上述措施后仍无法解决问题,则可以考虑更改客户端语言设置或者重新安装Oracle客户端。 总的来说,ORA-12705错误Oracle数据库中的一个常见错误,通常表示Oracle客户端无法访问NLS(National Language Support)环境。在解决此类问题时,应该对客户端语言设置、NLS组件、数据库字符集设置等方面进行综合考虑和排查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值