加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql无效字符 执行sql语句报错解决方案

发布时间:2020-12-12 09:56:03 所属栏目:MsSql教程 来源:网络整理
导读:说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天! 错误时在执行SQL语句的时候发出的,信息如下: Java代码 [default][2012-11-22 11:35:58,552][ERROR] Java代码 [com.primeton.common.connection.impl.synchronization.Trace

说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天!
错误时在执行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代码
<div class="codetitle"><a style="CURSOR: pointer" data="60377" class="copybut" id="copybut60377" onclick="doCopy('code60377')"> 代码如下:<div class="codebody" id="code60377">
String sql="INSERT INTO ASE_SYSTEM_LOG (LOGID,?);";
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中执行,却没问题,纠结了好久,原来是
<div class="codetitle"><a style="CURSOR: pointer" data="52091" class="copybut" id="copybut52091" onclick="doCopy('code52091')"> 代码如下:<div class="codebody" id="code52091">
"INSERT INTO ASE_SYSTEM_LOG (LOGID,?);"

中多了一个“;”号,坑哥啊,就这玩意,我顿时无语!!!
好啦,如果有报字符异常问题的盆友可以参考下,没有的就永远不要再发这样的低级错误啦!
告诫自己一句话:不细心是做不好程序的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读