共計 1033 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
本篇文章為大家展示了 sql 無效字符執(zhí)行 sql 語句報錯的解決方法,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
說起來慚愧,總是犯一些小錯誤,糾結(jié)半天,這不應(yīng)為一個分號的玩意折騰了好半天!錯誤時在執(zhí)行 SQL 語句的時候發(fā)出的,信息如下:
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();
當(dāng)執(zhí)行 ptt.excuteUpdate() 方法的時候,直接報以上的錯。以為是 sql 中參數(shù)賦值有問題,但是將 sql 語句直接 copy 到 PLSQL 中執(zhí)行,卻沒問題,糾結(jié)了好久,原來是代碼如下: INSERT INTO ASE_SYSTEM_LOG (LOGID,USERID,USERNAME,LOGINTIME) VALUES(?,?,?,?); 中多了一個“;”號,就這玩意,我頓時無語!!!
好啦,如果有報字符異常問題的盆友可以參考下,沒有的就永遠不要再發(fā)這樣的低級錯誤啦!告誡自己一句話:不細心是做不好程序的。
上述內(nèi)容就是 sql 無效字符執(zhí)行 sql 語句報錯的解決方法,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。