一个字符串类型的变量,保存sql,执行时总是说 ORA-00911: 无效字符,为什么???????????????????????????????? sql的值错了里面可能有'或者其他的非法字符 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的DB是不是Oracle啊,应该是你的SQL语句后有一个分号 感谢上面两位仁兄的帮助,但是我的sql语句是正确的,复制到sqlplus 中执行是正确的。 你是用jdbc的吗,你试一下把execute,try出来看看有没有什么错误的提示,如日期就不可以直接用,要用todate或{d} 回复人: zhengg21(很努力) 感谢上面两位仁兄的帮助,但是我的sql语句是正确的,复制到sqlplus 中执行是正确的。=================================================是啊,在sqlplus中要分号,但用JDBC就不能有了,你去掉分号试试,以前我也遇过和你一样的问题。 我的sql是可以在 命令行工具中执行的,语法没有问题的。 把你的String sql = "";{此处给sql赋值,组合成一个update的sql语句}这个代码贴出来看看 是类型为Char的字段长度的问题,oracle8i的在入库数据是中文,而且和该字段长度刚好相等,比如Char(4)你入库两个汉字就可能出现911错误。你可以用其他数据库工具测试你的sql语句看看。 生成SQL 的代码非常复杂,如果都贴出来有300行还多,上面的建议我都试过了,还是不可以呀?急死我了 另外可能的话就是外键的问题了,oracle的外键很严的,如果出错也会抛出911,你检查SQL代码看看。另,300多行你要执行的是一个事务吧,看看是到哪一行抛出异常。 ORA-00911: invalid character.Cause: Special characters are valid only in certain places. If special charactersother than $, _, and # are used in a name and the name is not enclosed in double ... 贴出来一部分,知道错误了吧! 把你在程序中生成的SQL帖出来看看啊 不要慌乱。300行代码都是事务的话,先执行一半看出问题不,找出出问题的一半sql,然后再排除1/4,……把错误确定在十几二十行中(如果高兴可以试到是哪一条出了问题),仔细检查一下。在数据库里可以执行在代码里不行有时候是夹参数的时候出的错。 解决不了我会死不瞑目!!!! 一道面试题...不懂! 高分求救啊,出现乱码,该怎么办啊!!!! 我郁闷了 大侠大虾们来看看啊 对于初学者学JAVA该看些什么书呢? SWT开发中,如何设置组件背景是透明的? java咋处理中文文件呀 想用java代码动态得到某个软件安装在某个路径下!比如说Adobe applet问题? 如何使用RGBImageFilter进行图象颜色过滤 急问:关于oracle XDK的一个错误信息 如何取出String中的字符并转换成char型?
感谢上面两位仁兄的帮助,但是我的sql语句是正确的,复制到sqlplus 中执行是正确的。=================================================
是啊,在sqlplus中要分号,但用JDBC就不能有了,你去掉分号试试,以前我也遇过和你一样的问题。
String sql = "";
{
此处给sql赋值,组合成一个update的sql语句
}
这个代码贴出来看看
上面的建议我都试过了,还是不可以呀?
急死我了
Cause: Special characters are valid only in certain places. If special characters
other than $, _, and # are used in a name and the name is not enclosed in double ... 贴出来一部分,知道错误了吧!
300行代码都是事务的话,先执行一半看出问题不,找出出问题的一半sql,然后再排除1/4,……把错误确定在十几二十行中(如果高兴可以试到是哪一条出了问题),仔细检查一下。在数据库里可以执行在代码里不行有时候是夹参数的时候出的错。