程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> sql有效字符 履行sql語句報錯處理計劃

sql有效字符 履行sql語句報錯處理計劃

編輯:MSSQL

sql有效字符 履行sql語句報錯處理計劃。本站提示廣大學習愛好者:(sql有效字符 履行sql語句報錯處理計劃)文章只能為提供參考,不一定能成為您想要的結果。以下是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(?,?,?,?);"

中多了一個“;”號,坑哥啊,就這玩意,我馬上無語!!!
好啦,假如有報字符異常成績的盆友可以參考下,沒有的就永久不要再發如許的初級毛病啦!
申饬本身一句話:不仔細是做欠好法式的。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved