本篇文章为大家展示了sql无效字符执行sql语句报错的解决方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天! 错误时在执行SQL语句的时候发出的,信息如下:

Java代码 [default][2012-11-22 11:35:58,552][ERROR]

Java代码 [com.primeton.common.connection.impl.synchronization.TraceLoggerStatementSynchronization:49] Java代码 Sql[INSERT INTO ASE_SYSTEM_LOG (LOGID,USERID,USERNAME,LOGINTIME) VALUES(?,?,?,?);]

execute error. java.sql.SQLException: ORA-00911: 无效字符 程序代码如下:

Java代码

代码如下: String sql="INSERT INTO ASE_SYSTEM_LOG (LOGID,USERID,USERNAME,LOGINTIME) VALUES(?,?,?,?);"; con = this.getDataSource().getConnection(); ptt=con.prepareStatement(sql); ptt.setLong(1, logId); ptt.setLong(2, userId); ptt.setString(3,userName); ptt.setString(4, loginDate); ptt.executeUpdate();

当执行ptt.excuteUpdate()方法的时候,直接报以上的错。 以为是sql中参数赋值有问题,但是将sql语句直接copy到PLSQL中执行,却没问题,纠结了好久,原来是代码如下: "INSERT INTO ASE_SYSTEM_LOG (LOGID,USERID,USERNAME,LOGINTIME) VALUES(?,?,?,?);"中多了一个“;”号,就这玩意,我顿时无语!!!

好啦,如果有报字符异常问题的盆友可以参考下,没有的就永远不要再发这样的低级错误啦! 告诫自己一句话:不细心是做不好程序的。

上述内容就是sql无效字符执行sql语句报错的解决方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。