ORA-00911: invalid character 错误解决

  多数情况如下:

   控制面板--系统和安全---系统--高级系统设置--高级--环境变量--系统变量中

   变量名:NLS_LANG

   变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

   把这个变量添加完成以后,把系统重启一下就ok了,重启以后,错误提示消失了。

 

可能还有如下一些个情况:

  1. 应该是错误输入了全角字符,输入半角字符就行了。

  2. 错误信息ORA-00911: invalid character说明了在执行的SQL语句中出现了无效字符,所在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。

posted @ 2019-11-16 17:54  金虹巴巴  阅读(24396)  评论(0编辑  收藏  举报