jndi数据源

jndi配置:
<Resource
name="jta/db2front"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.ibm.db2.jcc.DB2Driver"
url="****"
username="******"
password="******"
removeAbandoned="true"
removeAbandonedTimeout="600"
logAbandoned="true"
initialSize="0"
testOnBorrow="false"
testWhileIdle="false"
validationQuery="select current date from sysibm.sysdummy1"
maxActive="20"
maxIdle="5"
maxWait="-1"/>


用jndi连接数据源在第一次请求时报错如下,连续几次请求后正常。不知为什么?报错如下:
org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-4499];
--- The error occurred while applying a parameter map.
--- Check the DimSdhDept.findDimSdhDeptByObject-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.ibm.db2.jcc.b.DisconnectException: [ibm][db2][jcc][t4][2030][11211] 检测到了通信错误。所使用的通信协议:TCP/IP。
所使用的通信 API:SOCKETS。检测到错误的位置:T4Agent.sendRequest()。
用于检测错误的通信功能:OutputStream.flush()。特定于协议的错误代码 没有进程来读取写入管道的数据。、* 和 0。消息:没有进程来读取写入管道的数据。; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the DimSdhDept.findDimSdhDeptByObject-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.ibm.db2.jcc.b.DisconnectException: [ibm][db2][jcc][t4][2030][11211] 检测到了通信错误。所使用的通信协议:TCP/IP。
所使用的通信 API:SOCKETS。检测到错误的位置:T4Agent.sendRequest()。
用于检测错误的通信功能:OutputStream.flush()。特定于协议的错误代码 没有进程来读取写入管道的数据。、* 和 0。消息:没有进程来读取写入管道的数据。
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the DimSdhDept.findDimSdhDeptByObject-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.ibm.db2.jcc.b.DisconnectException: [ibm][db2][jcc][t4][2030][11211] 检测到了通信错误。所使用的通信协议:TCP/IP。
所使用的通信 API:SOCKETS。检测到错误的位置:T4Agent.sendRequest()。
用于检测错误的通信功能:OutputStream.flush()。特定于协议的错误代码 没有进程来读取写入管道的数据。、* 和 0。消息:没有进程来读取写入管道的数据。
Caused by: com.ibm.db2.jcc.b.DisconnectException: [ibm][db2][jcc][t4][2030][11211] 检测到了通信错误。所使用的通信协议:TCP/IP。
所使用的通信 API:SOCKETS。检测到错误的位置:T4Agent.sendRequest()。
用于检测错误的通信功能:OutputStream.flush()。特定于协议的错误代码 没有进程来读取写入管道的数据。、* 和 0。消息:没有进程来读取写入管道的数据。
at com.ibm.db2.jcc.c.a.a(a.java:385)
at com.ibm.db2.jcc.c.a.y(a.java:354)
at com.ibm.db2.jcc.c.a.l(a.java:312)
at com.ibm.db2.jcc.b.p.c(p.java:256)
at com.ibm.db2.jcc.b.ih.d(ih.java:2400)
at com.ibm.db2.jcc.b.ih.X(ih.java:1457)
at com.ibm.db2.jcc.b.ih.execute(ih.java:1441)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:185)
at com.asiainfo.appanalyze.base.extend.ibatis.PaginatedExecutor.executeQuery(PaginatedExecutor.java:97)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)
... 86 more
Caused by: java.net.SocketException: 没有进程来读取写入管道的数据。
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:105)
at java.net.SocketOutputStream.write(SocketOutputStream.java:149)
at com.ibm.db2.jcc.c.gb.b(gb.java:1526)
at com.ibm.db2.jcc.c.gb.a(gb.java:1475)
at com.ibm.db2.jcc.c.a.y(a.java:348

[该贴被xunifeng于2009-10-12 12:06修改过]

>SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-4499];

你自己的SQL语句参数有问题。