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