APAR status
Closed as program error.
Error description
Calling a Sybase stored procedure in such a way that causes
Sybase to return exception:
com.sybase.jdbc2.jdbc.SybSQLException: Incorrect syntax near
`s`.
Once Sybase returned the above exception, the connection
is unusable. WebSphere needs to map the above exception to
StaleConnectionException.
.
From WebSphere trace (RRA and WAS.j2c), you will see the chain
exceptions:
com.sybase.jdbc2.jdbc.SybSQLException: Incorrect syntax near
`s`.
...
---- Begin backtrace for Nested Throwables
com.sybase.jdbc2.jdbc.SybSQLException: Unclosed quote before
the character string ' ORDER BY 1 ,2,3 asc'.
---- Begin backtrace for Nested Throwables
java.sql.SQLException: JZ006: Caught IOException:
com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0:
Connection is already closed.
...
---- Begin backtrace for Nested Throwables
java.sql.SQLException: JZ0C1: An IOException occurred which
closed the connection.
.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users of JDBC *
* Connections to Sybase with Sybase statement *
* caching enabled. *
****************************************************************
* PROBLEM DESCRIPTION: When a *
* "com.sybase.jdbc2.jdbc.SybSQLException *
* Unclosed quote before the *
* Licharacter string" is encountered *
* the application server may need to *
* discard the connection. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
If an application encounters a
com.sybase.jdbc2.jdbc.SybSQLException: Unclosed quote before
the Licharacter string. With ErrorCode=105 and SQLState =
ZZZZZ the connection may be invalidated. If the connection is
invalidated the application server needs to map the exception
to a StaleConnectionException and may purge the connection
pool.
The error occurs if the statement has been cached by WebSphere
Application Server and is reused with malformed SQL. So the
problem can be worked around by disabling the prepared
statement cache.
In testing, the Connection was not always invalidated, so this
error may not always result in a StaleConnectionException. To
determine if the Connection has been invalidated WebSphere
Application Server will search through the list of chained
exceptions for another known ErrorCode (in this case it was
JC0C0).
Problem conclusion
WebSphere Application Server will check all chained exceptions
for a known ErrorCode when a exception occurs with Sybase. The
chained exceptions will be checked recursively until a mapping
is found.
The fix for this APAR is currently targeted for inclusion in
fixpack 5.0.2.10 and 5.1.1.3. Please refer to the Recommended
Updates page for delivery dates:
"http://www-1.ibm.com/support/docview.wss?rs=180&context=SSEQTP
&uid=swg27004980"
Temporary fix Comments
APAR information |
APAR number |
PQ96241 |
Reported component name |
WAS NETWRK DEPL |
Reported component ID |
5630A3601 |
Reported release |
00A |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2004-10-26 |
Closed date |
2004-11-29 |
Last modified date |
2004-11-29 |
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 |
|