一例ora-00911无效字符的处理

    同事发给我一个问题:在plsql developer的sql窗口中,运行一个脚本报ora-00911错误,脚本由多行SQL组成,报的无效字符指示在第一个SQL的分号后,首先这个分号已确认是英文半角分号,而且单独运行这一个SQL没有问题;其实以前也曾遇到过这个问题,根据经验,转成sql命令窗口后是可以执行的,不过今天我不想再一次避开这个问题,而是希望找到根本原因;
   先用notepad++查看了这个脚本的编码,是UTF8的,转成ANSI试了一下,依旧;
   即然编码也看不出问题,那么有什么因素会使oracle认为是非法字符呢?貌似只有语言方面的设置比较相关,检查环境变量,发现NLS_LANG设置成“AMERICAN_AMERICA.AL32UTF8",删除掉这个设置之后,重登plsql developer,多行SQL可以正常执行了;
   可以确认是这个设置引发了问题,更具体的还不好说,可以是这个设置对中文的支持不好吧;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13365316/viewspace-2130717/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13365316/viewspace-2130717/

你可能感兴趣的:(一例ora-00911无效字符的处理)