我是靠谱客的博主 舒适山水,最近开发中收集的这篇文章主要介绍执行SQL语报宝“无效字符”异常,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天!

 

错误时在执行SQL语句的时候发出的,信息如下:

 

[default][2012-11-22 11:35:58,552][ERROR]
[com.primeton.common.connection.impl.synchronization.TraceLoggerStatementSynchronization:49] 
Sql[INSERT INTO ASE_SYSTEM_LOG (LOGID,USERID,USERNAME,LOGINTIME) VALUES(?,?,?,?);] execute error.
java.sql.SQLException: ORA-00911: 无效字符

 

 

程序代码如下:

 

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语报宝“无效字符”异常所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部