APAR status
Closed as program error.
Error description
Connect JDBC 3.2 and 3.3 give a generic SQLState HY000 and
ErrorCode 0 for the following exception:
java.sql.SQLException: [IBM][SQLServer JDBC Driver]No more
data available to read.
.
Therefore WebSphere Connection Pooling Manager can't map the
above exception to StaleConnectionException.
.
DataDirect defect #15009265 was opened against Connect JDBC
3.2 and 3.3.
.
The fix for this APAR was included in a new driver from
DataDirect. The DataDirect driver was branded and is provided
by WebSphere Application Server through this APAR.
The fix will generateSQLState 08006 for the "No more data to
read" exception with the addition that it may throw other
exceptions that have SQLStatesthat start with 08 (for example,
if the driver determines the socket connection was broken, it
will return a data link failed exception with a SQLState
08S01). WebSphere Connection Pooling manager code (or
application uses the Connection JDBC driver) should check for
the SQLState class (the first two characters of the SQLState)
to be 08 instead of looking specifically for 08006. Any
exceptions with a SQLState class of 08 will indicate that the
connection is unusable.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users of *
* DataDirect JDBC Drivers (to connect to *
* MSSQL Server). *
****************************************************************
* PROBLEM DESCRIPTION: The DataDirect JDBC Drivers for MSSQL *
* Server might throw a IBM][SQLServer *
* JDBC Driver]No more data available to *
* read. ErrorCode=0 SQLState=HY000. *
* This is a StaleConnection. This APAR *
* enables WebSphere Application Server *
* to recognise the exception and issue *
* the appropriate Stale Connection *
* Exception to the application. *
* *
* An alternative solution is to add a *
* custom mapping for HY000 to a custom *
* DataStoreHelper; however, because the *
* HY000 code is used to represent *
* several problems, not all are stale *
* connections, this can cause *
* undesirable behavior. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
The DataDirect JDBC driver issues an IBM][SQLServer JDBC
Driver]No more data available to read. ErrorCode=0
SQLState=HY000 exception. This is actually a stale connection,
but because the error code used (HY000) is a generic error code
used to represent several problems, WebSphere Application
Server doesn't recognise it as a stale connection.
This fix upgrades the JDBC driver so that a unique error code
is used, and updates the DataDirectDataStoreHelper so that it
issues a StaleConnectionException.
Problem conclusion
Replaced bundled DataDirect JDBC driver, and updated
DataStoreHelper to issue the exception.
Temporary fix Comments
APAR information |
APAR number |
PQ82377 |
Reported component name |
WAS NETWRK DEPL |
Reported component ID |
5630A3601 |
Reported release |
00W |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2003-12-17 |
Closed date |
2004-01-27 |
Last modified date |
2005-04-26 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
Publications Referenced
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00P PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
R103 PSY |
UP |
R10A PSY |
UP |
R10H PSY |
UP |
R10I PSY |
UP |
R10P PSY |
UP |
R10S PSY |
UP |
R10W PSY |
UP |
|