Error codes issued by the IBM Data Server Driver for JDBC and SQLJ

Warning codes in the ranges +4200 to +4299, and +4450 to +4499, and error codes in the ranges -4200 to -4299, and -4450 to -4499 are reserved for the IBM® Data Server Driver for JDBC and SQLJ.

When you call the SQLException.getMessage method after a IBM Data Server Driver for JDBC and SQLJ error occurs, a string is returned that includes:
  • Whether the connection is a type 2 or type 4 connection
  • Diagnostic information for IBM Software Support
  • The level of the driver
  • An explanatory message
  • The error code
  • The SQLSTATE
For example:
[jcc][t4][20128][12071][3.50.54] Invalid queryBlockSize specified: 1,048,576,012. 
Using default query block size of 32,767.  ERRORCODE=0, SQLSTATE=

The IBM Data Server Driver for JDBC and SQLJ issues the following warning codes:

+4204
Message text: Errors were encountered and tolerated as specified by the RETURN DATA UNTIL clause.

Explanation: Tolerated errors include federated connection, authentication, and authorization errors. This warning applies only to connections to Db2® on Linux®, UNIX, and Windows systems servers. It is issued only when a cursor operation, such as a ResultSet.next or ResultSet.previous call, returns false.

SQLSTATE: 02506

+4222
Message text: text-from-getMessage

Explanation: A warning condition occurred during connection to the data source.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4223
Message text: text-from-getMessage

Explanation: A warning condition occurred during initialization.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4225
Message text and explanation: text-from-getMessage

Explanation: A warning condition occurred when data was sent to a server or received from a server.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4226
Message text and explanation: text-from-getMessage

Explanation: A warning condition occurred during customization or bind.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4228
Message text: text-from-getMessage

Explanation: An warning condition occurred that does not fit in another category.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4450
Message text: Feature not supported: feature-name
+4460
Message text: text-from-getMessage

Explanation: The specified value is not a valid option.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4461
Message text: text-from-getMessage

Explanation: The specified value is invalid or out of range.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4462
Message text: text-from-getMessage

Explanation: A required value is missing.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4470
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource is closed.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4471
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource is in use.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4472
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource is unavailable.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

+4474
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource cannot be changed.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

The IBM Data Server Driver for JDBC and SQLJ issues the following error codes:

-1224
Message text: The database manager is not able to accept new requests, has terminated all requests in progress, or has terminated the specified request because of an error or a forced interrupt.

Explanation: For connections to Db2 on Linux, UNIX, and Windows systems data servers, see SQL1224N for details.

For connections to Db2 for z/OS® data servers, this error indicates the server thread that is associated with the application abnormally terminated. Server diagnostics that are related to the application need to be collected. The application can be identified by its unique application ID. Db2 for z/OS externalizes the application ID in messages and traces as the connection correlation token (CRRTKN) and logical unit of work ID (LUWID). Message DSNL027I is generated on the z/OS console when a Db2 for z/OS thread abnormally terminates. DSNL027I provides a reason code for the failure. In most cases, Db2 for z/OS generates a z/OS SVC dump, which is needed to solve the problem.

SQLSTATE: 2D521

-4200
Message text: Invalid operation: An invalid COMMIT or ROLLBACK has been called in an XA environment during a Global Transaction.

Explanation: An application that was in a global transaction in an XA environment issued a commit or rollback. A commit or rollback operation in a global transaction is invalid.

SQLSTATE: 2D521

-4201
Message text: Invalid operation: setAutoCommit(true) is not allowed during Global Transaction.

Explanation: An application that was in a global transaction in an XA environment executed the setAutoCommit(true) statement. Issuing setAutoCommit(true) in a global transaction is invalid.

SQLSTATE: 2D521

-4203
Message text: Error executing function. Server returned rc.

Explanation: An error occurred on an XA connection during execution of an SQL statement.

For network optimization, the IBM Data Server Driver for JDBC and SQLJ delays some XA flows until the next SQL statement is executed. If an error occurs in a delayed XA flow, that error is reported as part of the SQLException that is thrown by the current SQL statement.

-4210
Message text: Timeout getting a transport object from pool.

SQLSTATE: 57033

-4211
Message text: Timeout getting an object from pool.

SQLSTATE: 57033

-4212
Message text: Sysplex member unavailable.
-4213
Message text: Timeout.

SQLSTATE: 57033

-4214
Message text: text-from-getMessage

Explanation: Authorization failed.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

SQLSTATE: 28000

-4220
Message text: text-from-getMessage

Explanation: An error occurred during character conversion.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4221
Message text: text-from-getMessage

Explanation: An error occurred during encryption or decryption.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4222
Message text: text-from-getMessage

Explanation: An error occurred during connection to the data source.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4223
Message text: text-from-getMessage

Explanation: An error occurred during initialization.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4224
Message text: text-from-getMessage

Explanation: An error occurred during resource cleanup.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4225
Message text: text-from-getMessage

Explanation: An error occurred when data was sent to a server or received from a server.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4226
Message text: text-from-getMessage

Explanation: An error occurred during customization or bind.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4227
Message text: text-from-getMessage

Explanation: An error occurred during reset.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4228
Message text: text-from-getMessage

Explanation: An error occurred that does not fit in another category.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4229
Message text: text-from-getMessage

Explanation: An error occurred during a batch execution.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4231
Message text: An error occurred during the conversion of column column-number of type sql-data-type with value value to a value of type java.math.BigDecimal.
-4450
Message text: Feature not supported: feature-name

SQLSTATE: 0A504

-4460
Message text: text-from-getMessage

Explanation: The specified value is not a valid option.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4461
Message text: text-from-getMessage

Explanation: The specified value is invalid or out of range.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

SQLSTATE: 42815

-4462
Message text: text-from-getMessage

Explanation: A required value is missing.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4463
Message text: text-from-getMessage

Explanation: The specified value has a syntax error.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

SQLSTATE: 42601

-4470
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource is closed.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4471
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource is in use.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4472
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource is unavailable.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4473
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource is no longer available.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4474
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the target resource cannot be changed.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4475
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because access to the target resource is restricted.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4476
Message text: text-from-getMessage

Explanation: The requested operation cannot be performed because the operation is not allowed on the target resource.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

-4496
Message text: An SQL OPEN for a held cursor was issued on an XA connection. The JDBC driver does not allow a held cursor to be opened on the database server for an XA connection.
-4497
Message text: The application must issue a rollback. The unit of work has already been rolled back in the Db2 server, but other resource managers involved in the unit of work might not have rolled back their changes. To ensure integrity of the application, all SQL requests are rejected until the application issues a rollback.
-4498
Message text: A connection failed but has been re-established. Special register settings have been replayed if necessary. Host name or IP address of the connection: host-name. Service name or port number of the connection: service-name. Reason code: reason-code. Failure code: failure-code. Error code: error-code.
Explanation: The connection has been reestablished. In some cases, the network connection or transport to the server is not established until the next use. After the connection is reestablished, all session resources are set to their initial default values. The application is rolled back to the previous commit point. The reason code indicates which special register values are applied to the new connection. Possible values for the reason code are:
1
All special register settings were returned to their values at the point of failure. The connection was reestablished within the current group.
2
All special register settings were returned to their values at the previous commit point. The connection was reestablished within the current group.
3
All special registers were returned to their settings at the point of failure. The connection was reestablished in a new group.
4
All special register settings were returned to their values at the previous commit point. The connection was reestablished in a new group.

failure-code indicates the error that caused the connection to fail:

1
A communication failure occurred.
2
The data server closed the connection.
3
An SQL error occurred.
4
The client closed the connection.

error-code depends on the value of failure-code:

Failure code: 1 or 2
Error code: The Java™ SocketException message that was returned.
Failure code: 3
Error code: The SQL error code that was returned by the SQL statement that caused the connection to fail.
Failure code: 4
Error code: The following value:
2
The driver received an interrupt or cancel request.

For client reroute against Db2 for z/OS servers, special register values that were set after the last commit point are not re-established.

The application is rolled back to the previous commit point. The connection state and global resources such as global temporary tables and open held cursors might not be maintained.

-4499
Message text: text-from-getMessage

Explanation: A fatal error occurred that resulted in a disconnect from the data source. The existing connection has become unusable.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

SQLSTATE: 08001 or 58009

-20542
Message text: The statement was not executed because the connection to the database server was dropped, and the automatic client reroute (ACR) feature failed to successfully re-execute the statement.

Explanation: See SQL20542N.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

SQLSTATE: 54068

-30108
Message text: A connection failed in an automatic client reroute environment. The transaction was rolled back. Host name or IP address: host-name. Service name or port number: service-name. Reason code: reason-code. Connection failure code: connection-failure-code. Underlying error: underlying-error.

Explanation: See SQL30108N.

User response: Call SQLException.getMessage to retrieve specific information about the problem.

SQLSTATE: 08506

-99999
Message text: The IBM Data Server Driver for JDBC and SQLJ issued an error that does not yet have an error code.