plsql报ora-00911错误的解决
论不作死就不会死的过程,楼主之前因为得了一个oralce9i的精简版的客户端安装包,我也分享过给其他人使用这个安装包,没听人反馈过说有问题,所以这次换了电脑后果断就安装这个客户端。然后问题就来了。
反复重新安装了2次oracle客户端,plsql连接是正常了,但是在查询条件中带有中文时就会报错ora-00911。百度了很久之后解决。记录一下。
首先你要查找一下你oracle数据库服务器的的编码格式,用下面的语句:
select * from nls_database_parameters;
重要的内容是 NLS_LANGUAGE, NLS_TERRITORY 和 NLS_CHARACTERSET 这三个字段,因为后续配置环境变量要用到。
2.配置环境变量。计算机-属性-高级系统设置-高级-环境变量
新建2个环境变量,如下:
NLS_LANG = AMERICAN_AMERICA.AL32UTF8
LANG = zh_CN.UTF-8
其中NLS_LANG的构成是根据上面数据库查询得来的,具体构成的方法是 NLS_LANGUAGE+“_”+NLS_TERRITORY+"."+NLS_CHARACTERSET
3.我另外还更改了注册表里面的NLS_LANG,路径是:HKEY-LOCAL-MACHINE=>SOFTWARE=>Wow6432Node=>ORACLE如图,我看资料好像应该不用改也可以,可以去试一下,不过我反正已经改了,就不打算再去折腾了。