MyEclipse连接oracle遇到的问题

来源:互联网 发布:js date 格式化 编辑:程序博客网 时间:2024/05/16 01:25

转自http://selives.blogbus.com/logs/29564183.html

上午在帮同事用MyEclipse连接oracle的时候出现了如下错误:

MyEclipse Database Explorer建立oracle 10g数据库连接的时候,提示:

     1.ORA-00604:error occurred at recursive SQL level 1

     2.ORA-12705: invalid or unknown NLS parameter value specified

问题分析:

     Myeclipse语言 和oracle 10g 冲突问题。

解决办法:

    1.修改eclipse.ini文件,将"-Duser.language=en"修改为"-Duser.language=zh"。问题解决。分析:主要原因是MyEclipse在启动时候,语言编码是在[MyEclipse路径]/eclipse/eclipse.ini文件中加载的。 而国别编码是从系统的区域设置中得到的。如果MyEclipse默认启动参数为"-Duser.language=en",而操作系统设为"中文(中国)"MyEclipse加载后的信息就是"en_CN",这样就会出现上述问题,所以只要将两边的设置改成一致的,就可以解决上述问题. 你也可以就系统的区域设置定为"中文(中国)",修改eclipse.ini文件,将"-Duser.language=en"修改为"-Duser.language=zh",这样在MyEclipse加载后的Configuration Details信息就统一为zh_CN,即"osgi.nl=zh_CN".

    2.如果是oracle 9i 问题,则可以如下解决方法:数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。客户端字符集环境select * from nls_instance_parameter,其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件 字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。

 

补充:

对于Eclipse3.2+MyEclipse5.0.1修改位置,在MyEclipse快捷方式位置,右击myeclipse 属性,目标中设置-Duser.language=zh即可

原创粉丝点击