ORA-00911:invalidcharacter错误解决
多数情况如下:
控制⾯板--系统和安全---系统--⾼级系统设置--⾼级--环境变量--系统变量中
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
把这个变量添加完成以后,把系统重启⼀下就ok了,重启以后,错误提⽰消失了。
可能还有如下⼀些个情况:
1. 应该是错误输⼊了,输⼊半⾓字符就⾏了。
2. 错误信息ORA-00911: invalid character说明了在执⾏的中出现了⽆效字符,所在SQL语句⽆法通过过程导致了错误结果。
3. 可能出现的原因有:错误地输⼊了,⽐如输⼊了全⾓逗号。
4. 如果使⽤C++、Java、C#等编程时,总会习惯在语句最后加分号,⽽这个符号在SQL中是⽆效字符。
5. 实际语句和列类型不匹配,⽐如将数值列赋值为字符串。记住我
6. 与display函数不同,display_cursor显⽰的为真实的执⾏计划。
7. 对于format参数,使⽤与display函数的各个值,同样适⽤于display_cursor函数。
8. 当statistics_level为all或使⽤gather_plan_statistics提⽰可以获得执⾏时的统计信息。
9. 根据真实与预估的统计信息可以初步判断SQL效率低下的原因,如统计信息的准确性、主要的开销位于那些步骤等。
10. 看你的sql语句最后是否有分号,有的话去掉就⾏看你Oracle服务器端字符集是否和Oracle客户端字符集匹配。
11. 查询oracle server端的字符集:SQL>select userenv(‘language’) from dual。
12. 查询oracle client端的字符集。在windows平台下,就是注册表⾥⾯相应OracleHome的NLS_LANG。
13. 还可以在dos窗⼝⾥⾯⾃⼰设置,⽐如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK。