mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve DB2ExceptionSorter
This commit is contained in:
@@ -24,9 +24,22 @@ public class DB2ExceptionSorter implements ExceptionSorter {
|
||||
|
||||
@Override
|
||||
public boolean isExceptionFatal(SQLException e) {
|
||||
String sqlState = e.getSQLState();
|
||||
if (sqlState != null && sqlState.startsWith("08")) { // Connection Exception
|
||||
return true;
|
||||
}
|
||||
|
||||
int errorCode = e.getErrorCode();
|
||||
switch (errorCode) { // THE CURSOR IS NOT IN A PREPARED STATE
|
||||
case -514:
|
||||
switch (errorCode) {
|
||||
case -512: // STATEMENT REFERENCE TO REMOTE OBJECT IS INVALID
|
||||
case -514: // THE CURSOR IS NOT IN A PREPARED STATE
|
||||
case -516: // THE DESCRIBE STATEMENT DOES NOT SPECIFY A PREPARED STATEMENT
|
||||
case -518: // THE EXECUTE STATEMENT DOES NOT IDENTIFY A VALID PREPARED STATEMENT
|
||||
case -525: // THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE IT WAS IN ERROR AT BIND TIME FOR SECTION = sectno
|
||||
// PACKAGE = pkgname CONSISTENCY TOKEN = contoken
|
||||
case -909: // THE OBJECT HAS BEEN DELETED OR ALTERED
|
||||
case -918: // THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE A CONNECTION HAS BEEN LOST
|
||||
case -924: // DB2 CONNECTION INTERNAL ERROR, function-code,return-code,reason-code
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user