簡體   English   中英

使用jdbc進行db2查詢時出錯

[英]Error with db2 query using jdbc

碼:

 DataSource ds = (DataSource) ctx.lookup("MyConnection"); 
    //MyConnection can be tested  fine from websphere
    Connection connection = ds.getConnection();
    Statement st = connection.createStatement();
    st.executeQuery(strRequest);

從SQuirrel運行時,此查詢有效:

Call SYSPROC.SPNAME('2011-06-13','23.34.45.123456','EG2813B','1111111111','SDP',' ','N','1','377777777777777;BOKACB;BASICCCCC;KRISHNAAAA;01;344444444444444;BOK;BASIC;KRISHNA;02;','1;2;D;7;D;','1;REASON11;REASON12;2;REASON21;REASON22;D;3;REASON31;REASON32;4;REASON41;REASON42;D;0;;;D;',?,?,?,?,?)

但是,從jsp運行它時遇到問題。 我正在將Websphere 6.1與IBM RAD配合使用-通過實現com.ibm.db2.jcc.DB2ConnectionPoolDataSource的數據源進行連接

我已經在Google上搜索了任何類似的錯誤,但找不到任何有用的信息

我得到的錯誤是:

8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc][10413][10940][3.62.56] **Literal replacement parsing failed for procedure call to DB2 for z/OS**. Failing SQL text Call Call SYSPROC.SPNAME('2011-06-13','23.34.45.123456','EG2813B','1111111111','SDP',' ','N','1','377777777777777;BOKACB;BASICCCCC;KRISHNAAAA;01;344444444444444;BOK;BASIC;KRISHNA;02;','1;2;D;7;D;','1;REASON11;REASON12;2;REASON21;REASON22;D;3;REASON31;REASON32;4;REASON41;REASON42;D;0;;;D;',?,?,?,?,?). ERRORCODE=-4463, SQLSTATE=42601
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.db2.jcc.am.fd.a(fd.java:676)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.db2.jcc.am.fd.a(fd.java:60)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.db2.jcc.am.fd.a(fd.java:103)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.db2.jcc.am.jn.h(jn.java:4096)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.db2.jcc.am.jn.a(jn.java:3047)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.db2.jcc.am.jn.a(jn.java:679)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.db2.jcc.am.jn.executeQuery(jn.java:663)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeQuery(WSJdbcStatement.java:880)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm._jsp._contactHistory._jspService(_contactHistory.java:225)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:87)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1152)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:593)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:489)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:232)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:122)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
[8/3/11 13:25:00:076 EDT] 0000002f SystemErr     R  at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

我懷疑這與JDBC驅動程序有所不同,此處類似錯誤https://www-304.ibm.com/support/docview.wss?uid=swg1IC63337

您的存儲過程的實際名稱中是否包含空格? 此頁面描述了具有類似症狀的問題(#126896)的修復:

所有連接性:調用名稱中具有空格的DB2 z / OS存儲過程時,驅動程序將引發SQLException“對於對DB2 for z / OS的過程調用,文本替換解析失敗”。 此問題已解決。 (126896)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM