ORA-00911:invalidcharacter错误解决
同事遇到了⼀个奇怪的问题:同样的SQL语句,写在C#⾥,访问oracle数据库,在他机器执⾏会报错,⽽其他机器则不会。这条语句拿到他本机的PL/SQL developer执⾏,⼜没有问题。
出现这种问题,⾸先检查SQL语句后⾯是否带分号”;”。带分号在plsql developer⾥执⾏没有问题,但在C#⾥就不允许。不过同事的SQL没有分号。但是⾥⾯有中⽂字段。按照错误提⽰,应该中⽂编码的问题。
参考⽹上⽂章提⽰
控制⾯板--系统和安全---系统--⾼级系统设置--⾼级--环境变量--系统变量中
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
把这个变量添加完成以后,把系统重启⼀下就ok了,重启以后,错误提⽰消失了。
果然错误修正。
这⾥修正的,是oracle服务器端的编码。如果是修改oracle客户端,需修改注册表。
参考⽂章: