Java 使用jdbc进行db2查询时出错

Java 使用jdbc进行db2查询时出错,java,jdbc,db2,ibm-rad,Java,Jdbc,Db2,Ibm Rad,代码: 此查询在从SQuirrel运行时有效: DataSource ds = (DataSource) ctx.lookup("MyConnection"); //MyConnection can be tested fine from websphere Connection connection = ds.getConnection(); Statement st = connection.createStatement(); st.executeQu

代码:

此查询在从SQuirrel运行时有效:

 DataSource ds = (DataSource) ctx.lookup("MyConnection"); 
    //MyConnection can be tested  fine from websphere
    Connection connection = ds.getConnection();
    Statement st = connection.createStatement();
    st.executeQuery(strRequest);
然而,当从jsp运行它时,我遇到了一个问题。我正在使用WebSphere6.1和IBMRAD,通过实现com.IBM.db2.jcc.DB2ConnectionPoolDataSource的数据源进行连接

我在谷歌上搜索过类似的错误,但没有找到任何有用的

我得到的错误是:

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;',?,?,?,?,?)

我怀疑这是JDBC驱动程序的不同之处,这里也有类似的错误
存储过程的实际名称中是否包含空格?描述具有类似症状的问题(#126896)的修复:

所有连接性:调用DB2z/OS存储过程时 如果名称中有空格,则驱动程序抛出SQLException “对DB2的过程调用的文本替换解析失败 对于z/OS”。这个问题已经解决了。(126896)


请出示您的密码。。。请格式化您的SQL语句。您似乎在暗示它只出现在JSP中,并且当您使用
main()
方法从普通Java类调用它时,它不会失败。这是真的吗?不那么这与JSP完全无关。在JSP文件中编写Java代码而不是在Java类中正确编写Java代码,并且Java代码出现问题并不意味着它是一个JSP问题。请看,任何空参数?这必须与jdbc相关,而不是与JSP相关。我只是想提供尽可能多的细节。
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)