日期:2014-05-20  浏览次数:20756 次

数据库查询问题
String   sql   = "{call   LMIS_CLPDCASH_DISTRIBUTING_RPT(1,567,1)} ";
Connection   conn   =   Until.getConncetion();
ResultSet   rs   =   conn.createStatement().executeQuery(sql);
while(rs.next){
        .................
}


那个sql是个存储过程。

执行后报这样的错:

java.sql.SQLException:   JZ0S8:   SQL   查询中的转义序列不对:   '   {call   LMIS_CLPDCASH_DISTRIBUTING_RPT(1,567,1) '。
at   com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:534)
at   com.sybase.jdbc2.jdbc.EscapeTokenizer.next(EscapeTokenizer.java:222)
at   com.sybase.jdbc2.jdbc.SybStatement.processEscapes(SybStatement.java:303)
at   com.sybase.jdbc2.jdbc.SybStatement.doEscapeProcessing(SybStatement.java:404)
at   com.sybase.jdbc2.jdbc.SybStatement.executeQuery(SybStatement.java:416)
at   com.bestinfo.commons.wordhtml.Until.getResultSet(Until.java:640)
at   com.bestinfo.commons.wordhtml.add.M4.deal(M4.java:45)
at   com.bestinfo.commons.wordhtml.DealFirst.deal(DealFirst.java:85)
at   com.bestinfo.commons.wordhtml.MainWord.doIt(MainWord.java:69)
at   com.bestinfo.commons.wordhtml.MainWord.main(MainWord.java:24)
java.lang.NullPointerException
at   com.bestinfo.commons.wordhtml.add.M4.deal(M4.java:51)
at   com.bestinfo.commons.wordhtml.DealFirst.deal(DealFirst.java:85)
at   com.bestinfo.commons.wordhtml.MainWord.doIt(MainWord.java:69)
at   com.bestinfo.commons.wordhtml.MainWord.main(MainWord.java:24)
Exception   in   thread   "main "

------解决方案--------------------
是不是你的存储过程中某个变量被当成了转义字符处理了??\n....\.....
------解决方案--------------------
参数个数或者参数类型和存储过程定义的不一致
------解决方案--------------------
转译序列不对,说的就是你{...}中的内容不对。检查你的过程。
------解决方案--------------------
CallableStatement