jndi数据源

09-10-12 xunifeng
    

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修改过]

    

1
banq
2009-10-13 21:48

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

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