An example from the log may look as follows:
<Feb 9, 2004 11:32:16 AM CET> <Error> <JDBC> <BEA-001112> <Test "select count(*)
from SYSIBM.SYSDUMMY1" set up for pool "db2test" failed with exception: "com.ibm.db2.jcc.a.SqlException:
DB2 SQL error: SQLCODE: -725, SQLSTATE: 42721, SQLERRMC: CLIENT APPLNAME;<DB2
subsystem> ;".>
In the example the error occurs when a connection is being tested. All the examples
we have found are similar, i.e. we have not found any real application SQL statements
that fail.
The error occurs both in WLS 7.0.2 and 8.1.2.
Unfortunately the BEA-001112 message does not tell much, and we have not been
able to find anything in the DB2 logs either.
Do you have any ideas of what could be wrong?
Thanks in advance.
Terje Hidle wrote:
Hi. We're only reporting what the DBMS tells us. When we test the connection
we do that query on the table you name. It is only IBM that will be able to
translate that error. If other queries are working, maybe we can use a different
table for the connection test, or if there is some other SQL that will be a quick
harmless test of the connection, we can set the pool to do that by defining the
test table to be "SQL xxxxxxxxxxxx" where xxxxxxxxxxx is the simple SQL.
Joe
Well, maybe I was a little unclear. What I meant was that the SQL calls in the
application appear to go OK. The problem is WebLogic's own testing of the connection.
Specifying another table instead of SYSIBM.SYSDUMMY1 results in the same error.
I tried writing the SQL in the "Init SQL" field, but if "Test Table Name" contains
a value, the test is performed as usual (with the error message). With "Test Table
Name" blank, there is no error message, but I doubt the connection is being tested
in that case. Also I cannot have "Test Reserved Connections" checked, which is
some of the point here.
It may og may not be part of the same problem, but I also notice the following:
When I test the connection ("Test Pool" under the Testing tab in WLS8) just after
having set up the pool via the console, the test fails until WLS have been restarted.
The error message is: Warning! Connectivity to backend database not verified.
This is either because required connection pool attributes "TestConnectionsOnReserve"
or "TestConnectionsOnRelease" have not been enabled, or an invalid value has been
specified for attribute "TestTableName". Please check the server log for more
details.. The message is wrong, because "Test Reserved Connections" is checked
and "Test Table Name" contains a correct value. After having restarted WLS this
test is successful.
Below I have copied some JDBC trace output (created with WLS 702 – some site values
made anonymous (xxxxxxxx) and some application specific removed). The problem
with that is of course the amount of output, and hence to find the correct parts
to copy, but I tried one part where the select from sysdummy1 went OK and another
where it failed. Maybe it can give a clue.
Terje
-----------------------------------------------------------------------------------------------------------
This part is from a successful connection test:
[ibm][db2][jcc][Time:1075297569136][Thread:ExecuteThread: '7' for queue: 'default'][Statement@165cce]
execute (select count(*) from sysibm.sysdummy1) called
[ibm][db2][jcc] [t4][time:1075297569136][thread:ExecuteThread: '7' for queue:
'default'][tracepoint:1][Request.flush]
[ibm][db2][jcc][t4] SEND BUFFER: PRPSQLSTT (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0123456789ABCDEF
[ibm][db2][jcc][t4] 0000 0053D0510001004D 200D00442113C1F0 .S.Q...M ..D!...
..}....(......xx
[ibm][db2][jcc][t4] 0010 F6D7F8F2F8404040 4040404040404040 .....@@@@@@@@@@@
xxxxx
[ibm][db2][jcc][t4] 0020 D5E4D3D3C9C44040 4040404040404040 ......@@@@@@@@@@
NULLID
[ibm][db2][jcc][t4] 0030 4040E2E8E2D3C8F2 F0F0404040404040 @@........@@@@@@
SYSLH200
[ibm][db2][jcc][t4] 0040 404040405359534C 564C303100060005 @@@@SYSLVL01....
...<.<......
[ibm][db2][jcc][t4] 0050 2116F10033D04300 01002D2414002573 !...3.C...-$..%s
..1..}..........
[ibm][db2][jcc][t4] 0060 656C65637420636F 756E74282A292066 elect count(*)
f .%.....?.>......
[ibm][db2][jcc][t4] 0070 726F6D2073797369 626D2E7379736475 rom sysibm.sysdu
.?_..`..._..`...
[ibm][db2][jcc][t4] 0080 6D6D793100000056 D00100020050200C mmy1...V.....P
__`.....}....&..
[ibm][db2][jcc][t4] 0090 00442113C1F0F6D7 F8F2F84040404040 .D!........@@@@@
....xxxxxxx
[ibm][db2][jcc][t4] 00A0 404040404040D5E4 D3D3C9C440404040 @@@@@@......@@@@
NULLID
[ibm][db2][jcc][t4] 00B0 4040404040404040 E2E8E2D3C8F2F0F0 @@@@@@@@........
SYSLH200
[ibm][db2][jcc][t4] 00C0 4040404040404040 40405359534C564C @@@@@@@@@@SYSLVL
...<.<
[ibm][db2][jcc][t4] 00D0 3031000600082114 00007FFF 01....!.....
..........".
[ibm][db2][jcc][t4]
[ibm][db2][jcc] [t4][time:1075297569150][thread:ExecuteThread: '7' for queue:
'default'][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4] RECEIVE BUFFER: SQLDARD (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0123456789ABCDEF
[ibm][db2][jcc][t4] 0000 0075D0430001006F 24110000000000F0 .u.C...o$.......
..}....?.......0
[ibm][db2][jcc][t4] 0010 F0F0F0F0C4E2D540 4040404000C1F0F6 .......@@@@@....
0000DSN .xxx
[ibm][db2][jcc][t4] 0020 D7F8F2F840404040 4040404040404000 ....@@@@@@@@@@@.
xxxx .
[ibm][db2][jcc][t4] 0030 0000000000000000 0000014121483900 ...........A!H9.
................
[ibm][db2][jcc][t4] 0040 0000000000000040 4040404040404040 .......@@@@@@@@@
.......
[ibm][db2][jcc][t4] 0050 4040000000000001 0000000000000000 @@..............
..............
[ibm][db2][jcc][t4] 0060 0000000401F00000 0000000000000000 ................
.....0..........
[ibm][db2][jcc][t4] 0070 00000000FF001BD0 5200020015220500 ........R...."..
.......}........
[ibm][db2][jcc][t4] 0080 0611490000000621 0224170005211FF1 ..I....!.$...!..
...............1
[ibm][db2][jcc][t4] 0090 001FD05300020019 241A0676D0020004 ...S....$..v....
..}.........}...
[ibm][db2][jcc][t4] 00A0 0971E0540001D000 010671F0E0000000 .q.T......q.....
..\...}....0\...
[ibm][db2][jcc][t4] 00B0 5DD0030002005724 1BFF000000000100 ].....W$........
)}..............
[ibm][db2][jcc][t4] 00C0 00000064F0F2F0F0 F0C4E2D5E7D9E2C6 ...d............
....02000DSNXRSF
[ibm][db2][jcc][t4] 00D0 D500C1F0F6D7F8F2 F840404040404040 .........@@@@@@@
N.xxxxxxx
[ibm][db2][jcc][t4] 00E0 40404040FFFFFF92 0000000000000000 @@@@............
...k........
[ibm][db2][jcc][t4] 00F0 FFFFFFFF00000000 0000000040404040 ............@@@@
............
[ibm][db2][jcc][t4] 0100 4040404040404000 000000FF @@@@@@@.....
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][ResultSetMetaData@27188a] BEGIN TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ResultSetMetaData@27188a] Result set meta data for statement Statement@165cce
[ibm][db2][jcc][ResultSetMetaData@27188a] Number of result set columns: 1
isDescribed=true[ibm][db2][jcc][ResultSetMetaData@27188a] Column 1: { label=,
name=, type name=INTEGER, type=4, nullable=0, precision=10, scale=0, schema name=,
table name=, writable=true, sqlPrecision=0, sqlScale=0, sqlLength=4, sqlType=496,
sqlCcsid=0, sqlName=null, sqlLabel=null, sqlUnnamed=<null>, sqlComment=<null>,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>,
sqlxKeymem=<null>, sqlxGenerated=<null>, sqlxParmmode=0, sqlxCorname=<null>, sqlxName=<null>,
sqlxBasename=<null>, sqlxUpdatable=<null>, sqlxSchema=<null>, sqlxRdbnam=<null>,
internal type=4, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@27188a] { sqldHold=0, sqldReturn=0, sqldScroll=0,
sqldSensitive=0, sqldFcode=0, sqldKeytype=0, sqldRdbnam=null, sqldSchema=null
}
[ibm][db2][jcc][ResultSetMetaData@27188a] END TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][Time:1075297569152][Thread:ExecuteThread: '7' for queue: 'default'][Statement@165cce]
execute () returned true
[ibm][db2][jcc][Time:1075297569153][Thread:ExecuteThread: '7' for queue: 'default'][Statement@165cce]
close () called
[ibm][db2][jcc] [t4][time:1075297569153][thread:ExecuteThread: '7' for queue:
'default'][tracepoint:1][Request.flush]
[ibm][db2][jcc][t4] SEND BUFFER: CLSQRY (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0123456789ABCDEF
[ibm][db2][jcc][t4] 0000 004ED04100010048 200500442113C1F0 .N.A...H ..D!...
.+}...........xx
[ibm][db2][jcc][t4] 0010 F6D7F8F2F8404040 4040404040404040 .....@@@@@@@@@@@
xxxxx
[ibm][db2][jcc][t4] 0020 D5E4D3D3C9C44040 4040404040404040 ......@@@@@@@@@@
NULLID
[ibm][db2][jcc][t4] 0030 4040E2E8E2D3C8F2 F0F0404040404040 @@........@@@@@@
SYSLH200
[ibm][db2][jcc][t4] 0040 404040405359534C 564C30310006000A @@@@SYSLVL01....
...<.<......
[ibm][db2][jcc][t4] 0050 D00100020004200E ...... .
}.......
[ibm][db2][jcc][t4]
-----------------------------------------------------------------------------------------------------------
This part is from an unsuccessful connection test:
[ibm][db2][jcc][Time:1075297587342][Thread:ExecuteThread: '7' for queue: 'default'][Statement@d227]
execute (select count(*) from sysibm.sysdummy1) called
[ibm][db2][jcc] [t4][time:1075297587343][thread:ExecuteThread: '7' for queue:
'default'][tracepoint:1][Request.flush]
[ibm][db2][jcc][t4] SEND BUFFER: EXCSQLSET (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0123456789ABCDEF
[ibm][db2][jcc][t4] 0000 004ED05100010048 201400442113C1F0 .N.Q...H ..D!...
.+}...........xx
[ibm][db2][jcc][t4] 0010 F6D7F8F2F8404040 4040404040404040 .....@@@@@@@@@@@
xxxxx
[ibm][db2][jcc][t4] 0020 D5E4D3D3C9C44040 4040404040404040 ......@@@@@@@@@@
NULLID
[ibm][db2][jcc][t4] 0030 4040E2E8E2D3C8F2 F0F0404040404040 @@........@@@@@@
SYSLH200
[ibm][db2][jcc][t4] 0040 404040405359534C 564C303101810028 @@@@SYSLVL01...(
...<.<...a..
[ibm][db2][jcc][t4] 0050 D053000100222414 001A53455420434C .S..."$...SET CL
}..............<
[ibm][db2][jcc][t4] 0060 49454E5420555345 5249442754545558 IENT USERID'xxxx
..+.............
[ibm][db2][jcc][t4] 0070 303732270000002D D053000100272414 xxx'...-.S...'$.
........}.......
[ibm][db2][jcc][t4] 0080 001F53455420434C 49454E542057524B ..SET CLIENT WRK
.......<..+.....
[ibm][db2][jcc][t4] 0090 53544E4E414D4527 6363623474646231 STNNAME'xxxxxxxx
..++.(..........
[ibm][db2][jcc][t4] 00A0 2700000050D05300 01004A2414004253 '...P.S...J$..BS
....&}..........
[ibm][db2][jcc][t4] 00B0 455420434C49454E 54204150504C4E41 ET CLIENT APPLNA
....<..+...&&<+.
[ibm][db2][jcc][t4] 00C0 4D45276462326A63 6345786563757465 ME'db2jccExecute
(.....|.........
[ibm][db2][jcc][t4] 00D0 5468726561643A20 27372720666F7220 Thread: '7' for
..../........?..
[ibm][db2][jcc][t4] 00E0 71756575653A2027 64656661756C7427 queue: 'default'
.........../.%..
[ibm][db2][jcc][t4] 00F0 270000005DD04300 0100572414004F53 '...].C...W$..OS
....)}........|.
[ibm][db2][jcc][t4] 0100 455420434C49454E 5420414343544E47 ET CLIENT ACCTNG
....<..+......+.
[ibm][db2][jcc][t4] 0110 274A434330313033 304A564D20202020 'JCC01030JVM
...........(....
[ibm][db2][jcc][t4] 0120 2020202020202020 2020206462326A63 db2jc
..............|.
[ibm][db2][jcc][t4] 0130 6345786563757465 5468726561643A54 cExecuteThread:x
............/...
[ibm][db2][jcc][t4] 0140 5455583037322027 2C58273030270000 xxxxxx ',X'00'..
................
[ibm][db2][jcc][t4] 0150 0053D0510002004D 200D00442113C1F0 .S.Q...M ..D!...
..}....(......xx
[ibm][db2][jcc][t4] 0160 F6D7F8F2F8404040 4040404040404040 .....@@@@@@@@@@@
xxxxx
[ibm][db2][jcc][t4] 0170 D5E4D3D3C9C44040 4040404040404040 ......@@@@@@@@@@
NULLID
[ibm][db2][jcc][t4] 0180 4040E2E8E2D3C8F2 F0F0404040404040 @@........@@@@@@
SYSLH200
[ibm][db2][jcc][t4] 0190 404040405359534C 564C303100010005 @@@@SYSLVL01....
...<.<......
[ibm][db2][jcc][t4] 01A0 2116F10033D04300 02002D2414002573 !...3.C...-$..%s
..1..}..........
[ibm][db2][jcc][t4] 01B0 656C65637420636F 756E74282A292066 elect count(*)
f .%.....?.>......
[ibm][db2][jcc][t4] 01C0 726F6D2073797369 626D2E7379736475 rom sysibm.sysdu
.?_..`..._..`...
[ibm][db2][jcc][t4] 01D0 6D6D793100000056 D00100030050200C mmy1...V.....P
__`.....}....&..
[ibm][db2][jcc][t4] 01E0 00442113C1F0F6D7 F8F2F84040404040 .D!........@@@@@
....xxxxxxx
[ibm][db2][jcc][t4] 01F0 404040404040D5E4 D3D3C9C440404040 @@@@@@......@@@@
NULLID
[ibm][db2][jcc][t4] 0200 4040404040404040 E2E8E2D3C8F2F0F0 @@@@@@@@........
SYSLH200
[ibm][db2][jcc][t4] 0210 4040404040404040 40405359534C564C @@@@@@@@@@SYSLVL
...<.<
[ibm][db2][jcc][t4] 0220 3031000100082114 00007FFF 01....!.....
..........".
[ibm][db2][jcc][t4]
[ibm][db2][jcc] [t4][time:1075297587359][thread:ExecuteThread: '7' for queue:
'default'][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4] RECEIVE BUFFER: SQLCARD (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0123456789ABCDEF
[ibm][db2][jcc][t4] 0000 0078D04300010072 240800FFFFFD2BF4 .x.C...r$.....+.
..}............4
[ibm][db2][jcc][t4] 0010 F2F7F2F1C4E2D5D3 E7C5D5E500C1F0F6 ................
2721DSNLXENV.xxx
[ibm][db2][jcc][t4] 0020 D7F8F2F840404040 4040404040404000 ....@@@@@@@@@@@.
xxxx .
[ibm][db2][jcc][t4] 0030 0000000000000000 000000FFFFFFFF00 ................
................
[ibm][db2][jcc][t4] 0040 0000000000000040 4040404040404040 .......@@@@@@@@@
.......
[ibm][db2][jcc][t4] 0050 404000000022C3D3 C9C5D5E340C1D7D7 @@..."......@...
....CLIENT APP
[ibm][db2][jcc][t4] 0060 D3D5C1D4C5FFC1F0 F6D7F8F2F8404040 .............@@@
LNAME.xxxxxxx
[ibm][db2][jcc][t4] 0070 40404040404040FF 0075D0430002006F @@@@@@@..u.C...o
...}....?
[ibm][db2][jcc][t4] 0080 24110000000000F0 F0F0F0F0C4E2D540 $..............@
.......00000DSN
[ibm][db2][jcc][t4] 0090 4040404000C1F0F6 D7F8F2F840404040 @@@@........@@@@
.xxxxxxx
[ibm][db2][jcc][t4] 00A0 4040404040404000 0000000000000000 @@@@@@@.........
.........
[ibm][db2][jcc][t4] 00B0 0000014121483900 0000000000000040 ...A!H9........@
...............
[ibm][db2][jcc][t4] 00C0 4040404040404040 4040000000000001 @@@@@@@@@@......
......
[ibm][db2][jcc][t4] 00D0 0000000000000000 0000000401F00000 ................
.............0..
[ibm][db2][jcc][t4] 00E0 0000000000000000 00000000FF001BD0 ................
...............}
[ibm][db2][jcc][t4] 00F0 5200030015220500 0611490000000621 R...."....I....!
................
[ibm][db2][jcc][t4] 0100 0224170005211FF1 001FD05300030019 .$...!.....S....
.......1..}.....
[ibm][db2][jcc][t4] 0110 241A0676D0020004 0971E0540001D000 $..v.....q.T....
....}.....\...}.
[ibm][db2][jcc][t4] 0120 010671F0E0000000 5DD0030003005724 ..q.....].....W$
...0\...)}......
[ibm][db2][jcc][t4] 0130 1BFF000000000100 00000064F0F2F0F0 ...........d....
............0200
[ibm][db2][jcc][t4] 0140 F0C4E2D5E7D9E2C6 D500C1F0F6D7F8F2 ................
0DSNXRSFN.xxxxxx
[ibm][db2][jcc][t4] 0150 F840404040404040 40404040FFFFFF92 .@@@@@@@@@@@....
x ...k
[ibm][db2][jcc][t4] 0160 0000000000000000 FFFFFFFF00000000 ................
................
[ibm][db2][jcc][t4] 0170 0000000040404040 4040404040404000 ....@@@@@@@@@@@.
.... .
[ibm][db2][jcc][t4] 0180 000000FF ....
....
[ibm][db2][jcc][t4]
com.ibm.db2.jcc.a.SqlException
at com.ibm.db2.jcc.a.co.e(co.java:1361)
at com.ibm.db2.jcc.a.co.c(co.java:1369)
at com.ibm.db2.jcc.b.bd.j(bd.java:253)
at com.ibm.db2.jcc.b.bd.f(bd.java:98)
at com.ibm.db2.jcc.b.r.f(r.java:119)
at com.ibm.db2.jcc.b.b.b(b.java:1453)
at com.ibm.db2.jcc.a.ch.b(ch.java:35)
at com.ibm.db2.jcc.a.bx.b(bx.java:41)
at com.ibm.db2.jcc.a.f.b(f.java:112)
at com.ibm.db2.jcc.a.f.j(f.java:294)
at com.ibm.db2.jcc.b.a.j(a.java:377)
at com.ibm.db2.jcc.a.f.c(f.java:185)
at com.ibm.db2.jcc.a.co.a(co.java:1584)
at com.ibm.db2.jcc.a.co.e(co.java:565)
at com.ibm.db2.jcc.a.co.execute(co.java:549)
at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:1125)
at weblogic.jdbc.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:697)
at weblogic.jdbc.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:655)
at weblogic.jdbc.common.internal.ResourceAllocator.reserveNoWait(ResourceAllocator.java:613)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:165)
at weblogic.jdbc.common.internal.ConnectionPool.reserveNoWait(ConnectionPool.java:127)
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:246)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:270)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:134)
at org.springframework.jdbc.core.SQLExceptionTranslatorFactory.getDefaultTranslator(SQLExceptionTranslatorFactory.java:116)
at org.springframework.jdbc.core.JdbcTemplate.getExceptionTranslator(JdbcTemplate.java:149)
at org.springframework.jdbc.core.JdbcTemplate.afterPropertiesSet(JdbcTemplate.java:197)
at org.springframework.jdbc.object.SqlOperation.compileInternal(SqlOperation.java:88)
at org.springframework.jdbc.object.RdbmsOperation.compile(RdbmsOperation.java:143)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
[ibm][db2][jcc] BEGIN TRACE_DIAGNOSTICS
[ibm][db2][jcc][SQLException@65028b] java.sql.SQLException
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] DB2 SQLCA from server
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] SqlCode = -725
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] SqlErrd = { 0, 0, 0,
-1, 0, 0 }
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] SqlErrmc = CLIENT APPLNAME;xxxxxxx
;
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] SqlErrmcTokens = { CLIENT APPLNAME,
xxxxxxx , }
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] SqlErrp = DSNLXENV
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] SqlState = 42721
[ibm][db2][jcc][SQLException@65028b][Sqlca@a2c0a] SqlWarn =
[ibm][db2][jcc][SQLException@65028b] SQL state = 42721
[ibm][db2][jcc][SQLException@65028b] Error code = -725
[ibm][db2][jcc][SQLException@65028b] Tokens = CLIENT APPLNAME;xxxxxxx
;
[ibm][db2][jcc][SQLException@65028b] Stack trace follows
com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -725, SQLSTATE: 42721,
SQLERRMC: CLIENT APPLNAME;xxxxxxx ;
at com.ibm.db2.jcc.a.co.e(co.java:1361)
at com.ibm.db2.jcc.a.co.c(co.java:1369)
at com.ibm.db2.jcc.b.bd.j(bd.java:253)
at com.ibm.db2.jcc.b.bd.f(bd.java:98)
at com.ibm.db2.jcc.b.r.f(r.java:119)
at com.ibm.db2.jcc.b.b.b(b.java:1453)
at com.ibm.db2.jcc.a.ch.b(ch.java:35)
at com.ibm.db2.jcc.a.bx.b(bx.java:41)
at com.ibm.db2.jcc.a.f.b(f.java:112)
at com.ibm.db2.jcc.a.f.j(f.java:294)
at com.ibm.db2.jcc.b.a.j(a.java:377)
at com.ibm.db2.jcc.a.f.c(f.java:185)
at com.ibm.db2.jcc.a.co.a(co.java:1584)
at com.ibm.db2.jcc.a.co.e(co.java:565)
at com.ibm.db2.jcc.a.co.execute(co.java:549)
at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:1125)
at weblogic.jdbc.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:697)
at weblogic.jdbc.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:655)
at weblogic.jdbc.common.internal.ResourceAllocator.reserveNoWait(ResourceAllocator.java:613)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:165)
at weblogic.jdbc.common.internal.ConnectionPool.reserveNoWait(ConnectionPool.java:127)
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:246)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:270)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:134)
at org.springframework.jdbc.core.SQLExceptionTranslatorFactory.getDefaultTranslator(SQLExceptionTranslatorFactory.java:116)
at org.springframework.jdbc.core.JdbcTemplate.getExceptionTranslator(JdbcTemplate.java:149)
at org.springframework.jdbc.core.JdbcTemplate.afterPropertiesSet(JdbcTemplate.java:197)
at org.springframework.jdbc.object.SqlOperation.compileInternal(SqlOperation.java:88)
at org.springframework.jdbc.object.RdbmsOperation.compile(RdbmsOperation.java:143)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
[ibm][db2][jcc] END TRACE_DIAGNOSTICS
[ibm][db2][jcc][ResultSetMetaData@5170a7] BEGIN TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ResultSetMetaData@5170a7] Result set meta data for statement Statement@d227
[ibm][db2][jcc][ResultSetMetaData@5170a7] Number of result set columns: 1
isDescribed=true[ibm][db2][jcc][ResultSetMetaData@5170a7] Column 1: { label=,
name=, type name=INTEGER, type=4, nullable=0, precision=10, scale=0, schema name=,
table name=, writable=true, sqlPrecision=0, sqlScale=0, sqlLength=4, sqlType=496,
sqlCcsid=0, sqlName=null, sqlLabel=null, sqlUnnamed=<null>, sqlComment=<null>,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>,
sqlxKeymem=<null>, sqlxGenerated=<null>, sqlxParmmode=0, sqlxCorname=<null>, sqlxName=<null>,
sqlxBasename=<null>, sqlxUpdatable=<null>, sqlxSchema=<null>, sqlxRdbnam=<null>,
internal type=4, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@5170a7] { sqldHold=0, sqldReturn=0, sqldScroll=0,
sqldSensitive=0, sqldFcode=0, sqldKeytype=0, sqldRdbnam=null, sqldSchema=null
}
[ibm][db2][jcc][ResultSetMetaData@5170a7] END TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][Time:1075297587369][Thread:ExecuteThread: '7' for queue: 'default'][Statement@d227]
close () called
[ibm][db2][jcc] [t4][time:1075297587369][thread:ExecuteThread: '7' for queue:
'default'][tracepoint:1][Request.flush]
[ibm][db2][jcc][t4] SEND BUFFER: CLSQRY (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0123456789ABCDEF
[ibm][db2][jcc][t4] 0000 004ED04100010048 200500442113C1F0 .N.A...H ..D!...
.+}...........xx
[ibm][db2][jcc][t4] 0010 F6D7F8F2F8404040 4040404040404040 .....@@@@@@@@@@@
xxxxx
[ibm][db2][jcc][t4] 0020 D5E4D3D3C9C44040 4040404040404040 ......@@@@@@@@@@
NULLID
[ibm][db2][jcc][t4] 0030 4040E2E8E2D3C8F2 F0F0404040404040 @@........@@@@@@
SYSLH200
[ibm][db2][jcc][t4] 0040 404040405359534C 564C30310001000A @@@@SYSLVL01....
...<.<......
[ibm][db2][jcc][t4] 0050 D00100020004200E ...... .
}.......
[ibm][db2][jcc][t4]
Terje Hidle wrote:
Hi. I looked at the traces. *We* are doing the same in either case, sending the
same SQL for the select from the dummy table in order to test the connection.
What seems to be different is that in the latter, failing test, it seems the
driver is sending a lot of extra session-setting options under the covers,
like 'SET CLIENT USERID, SET CLIENT WRKSTNNAME, SET CLIENT APLNAME, SET CLIENT
ACCTNG' before sending the SQL we tell it to. If you can ask IBM what their
exception means, it may have something to do with the failure of the DBMS to
handle one of these settings. It may be that the driver is sending those because
of some driver properties or defaults... You should also ask them why (under
what conditions) does the driver send those extra option setting.
Joe
This problem turned out to be a bug in the driver and appear to be fixed in fixpack
5 for DB2, v8.1. This is now available from IBM's FTP site.