当前位置:首页 > 技能相关 > ORACLE > 正文内容

ORA-00911:invalidcharacter

admin3年前 (2022-10-26)ORACLE5120 修订时间:2022-10-26 11:17:14

问题:执行SQL语句时,提示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。


 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/index.php?id=239

分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。