toad、oracle client、oracle DB版本问题,ora-12705错误

来源:互联网 发布:java数据类型取值范围 编辑:程序博客网 时间:2024/06/05 09:28

最近升级了数据库到11.2.0.4,测试人员发现使用toad连不上数据库,报“用户名/密码错误;拒绝登录”的错误。

测试人员使用的toad是9的,我使用10、11的toad都可以正常连接。

还有就是oracle客户端的问题,如果客户端版本低于10也会连不到11g的库。

因此使用11g的oracle数据库,建议安装10以上的客户端或instant client ;如要使用toad,也需安装10以上的版本。

对于toad,若安装的oracle客户端是instant client,那么需要配置windows的环境变量,如下:

系统变量中设置:(也可以写入注册表) 
PathD:/instantclient11 
LD_LIBRARY_PATHD:/instantclient11  --该变量可能可以省略
NLS_LANGAMERICAN_AMERICA.AL32UTF8   (或者 SIMPLIFIED   CHINESE_CHINA.ZHS16GBK )--注意空格,这是设置语言,可以根据情况配置
ORACLE_HOMED:/instantclient11  
SQL_PATHD:/instantclient11 
TNS_ADMIND:/instantclient11/network/ADMIN


--toad登录报出现12705错误,一般是字符集设置的问题。若装的是客户端,要么去注册表中修改,要么修改环境变量NLS_LANG;若装的是instant client,那只需在环境变量中增加NLS_LANG即可。

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

修改如下:

如果是Windows平台,注册表里 /HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE 查找键 NLS_LANG,这个键由Oracle标准客户端安装创建, 值是 NA 。这个导致了 ORA-12705错误。解决方法就是修改NA为SIMPLIFIED CHINESE_CHINA.ZHS16GBK。当然也可以在环境变量中增加 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
 --我一般用utf8的字符集,即设置为AMERICAN_AMERICA.AL32UTF8

若果做了以上修改还是报该错,尝试下重启机器。


Linux下如果环境变量 NLS_LANG 值是NA 会引起 ORA-12705 错误,解决方法是修改set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK










0 0