Driver support for JDBC APIs

The JDBC drivers that are supported by Db2® and IBM® Informix® database systems have different levels of support for JDBC methods.

The following tables list the JDBC interfaces and indicate which drivers supports them. The drivers and their supported platforms are:
Table 1. JDBC drivers for Db2 and IBM Informix database systems
JDBC driver name Associated data source
IBM Data Server Driver for JDBC and SQLJ Db2 on Linux®, UNIX, and Windows systems, Db2 for z/OS®, or IBM Informix
IBM Informix JDBC Driver (IBM Informix JDBC Driver) IBM Informix
If a method has JDBC 2.0 and JDBC 3.0 forms, the IBM Data Server Driver for JDBC and SQLJ supports all forms. The Db2 JDBC Type 2 Driver for Linux, UNIX and Windows supports only the JDBC 2.0 forms.
Table 2. Support for java.sql.Array methods
JDBC method IBM Data Server Driver for JDBC and SQLJ1 support IBM Informix JDBC Driver support
free2 Yes Yes
getArray Yes Yes
getBaseType Yes Yes
getBaseTypeName Yes Yes
getResultSet Yes Yes
Notes:
  1. Under the IBM Data Server Driver for JDBC and SQLJ, Array methods are supported for connections to Db2 on Linux, UNIX, and Windows systems data sources only.
  2. This is a JDBC 4.0 method.
Table 3. Support for java.sql.BatchUpdateException methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
getUpdateCounts Yes Yes
Table 4. Support for java.sql.Blob methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
free1 Yes Yes
getBinaryStream Yes2 Yes
getBytes Yes Yes
length Yes Yes
position Yes Yes
setBinaryStream3 Yes Yes
setBytes3 Yes Yes
truncate3 Yes Yes
Notes:
  1. This is a JDBC 4.0 method.
  2. Supported forms of this method include the following JDBC 4.0 form:
    getBinaryStream(long pos, long length)
  3. For versions of the IBM Data Server Driver for JDBC and SQLJ before version 3.50, these methods cannot be used if a Blob is passed to a stored procedure as an IN or INOUT parameter, and the methods are used on the Blob in the stored procedure.
Table 5. Support for java.sql.CallableStatement methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.sql.Statement Yes Yes
Methods inherited from java.sql.PreparedStatement Yes1 Yes
getArray No Yes
getBigDecimal Yes3 Yes
getBlob Yes3 Yes
getBoolean Yes3 Yes
getByte Yes3 Yes
getBytes Yes3 Yes
getClob Yes3 Yes
getDate Yes3,5 Yes
getDouble Yes3 Yes
getFloat Yes3 Yes
getInt Yes3 Yes
getLong Yes3 Yes
getObject Yes3,4,6 Yes
getRef No No
getRowId2 Yes No
getShort Yes3 Yes
getString Yes3 Yes
getTime Yes3,5 Yes
getTimestamp Yes3,5 Yes
getURL Yes No
registerOutParameter Yes7 Yes7
setAsciiStream Yes8 Yes
setBigDecimal Yes8 Yes
setBinaryStream Yes8 Yes
setBoolean Yes8 Yes
setByte Yes8 Yes
setBytes Yes8 Yes
setCharacterStream Yes8 Yes
setDate Yes8 Yes
setDouble Yes8 Yes
setFloat Yes8 Yes
setInt Yes8 Yes
setLong Yes8 Yes
setNull Yes8,,9 Yes
setObject Yes8, Yes
setShort Yes8 Yes
setString Yes8 Yes
setTime Yes8 Yes
setTimestamp Yes8 Yes
setURL Yes No
wasNull Yes Yes
Notes:
  1. The inherited getParameterMetaData method is not supported if the data source is Db2 for z/OS.
  2. This is a JDBC 4.0 method.
  3. The following forms of CallableStatement.getXXX methods are not supported if the data source is Db2 for z/OS:
    getXXX(String parameterName)
  4. The following JDBC 4.1 method is supported:
    getObject(int parameterIndex, java.lang.Class<T> type)
    getObject(java.lang.String parameterName, java.lang.Class<T> type)
  5. The database server does no timezone adjustment for datetime values. The JDBC driver adjusts a value for the local timezone after retrieving the value from the server if you specify a form of the getDate, getTime, or getTimestamp method that includes a java.util.Calendar parameter.
  6. The following form of the getObject method is not supported:
    getObject(int parameterIndex, java.util.Map  map)
  7. The following form of the registerOutParameter method is not supported:
    registerOutParameter(int parameterIndex, int jdbcType, String typeName)
  8. The following forms of CallableStatement.setXXX methods are not supported if the data source is Db2 for z/OS:
    setXXX(String parameterName,…)
  9. The following form of setNull is not supported:
    setNull(int parameterIndex, int jdbcType, String typeName)
Table 6. Support for java.sql.Clob methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
free1 Yes Yes
getAsciiStream Yes Yes
getCharacterStream Yes2 Yes
getSubString Yes Yes
length Yes Yes
position Yes Yes
setAsciiStream3 Yes Yes
setCharacterStream3 Yes Yes
setString3 Yes Yes
truncate3 Yes Yes
Notes:
  1. This is a JDBC 4.0 method.
  2. Supported forms of this method include the following JDBC 4.0 form:
    getCharacterStream(long pos, long length)
  3. For versions of the IBM Data Server Driver for JDBC and SQLJ before version 3.50, these methods cannot be used if a Clob is passed to a stored procedure as an IN or INOUT parameter, and the methods are used on the Clob in the stored procedure.
Table 7. Support for javax.sql.CommonDataSource methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getLoginTimeout Yes Yes
getLogWriter Yes Yes
getParentLogger1 Yes No
setLoginTimeout Yes Yes
setLogWriter Yes Yes
Notes:
  1. This is a JDBC 4.1 method.
Table 8. Support for java.sql.Connection methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
abort1 Yes No
clearWarnings Yes Yes
close Yes Yes
commit Yes Yes
createArrayOf2 Yes No
createBlob2 Yes Yes
createClob2 Yes Yes
createStatement Yes Yes
createStruct2 Yes No
getAutoCommit Yes Yes
getCatalog Yes Yes
getClientInfo2 Yes Yes
getHoldability Yes Yes
getMetaData Yes Yes
getNetworkTimeout1 Yes No
getSchema1 Yes No
getTransactionIsolation Yes Yes
getTypeMap No Yes
getWarnings Yes Yes
isClosed Yes Yes
isReadOnly Yes Yes
isValid2,3 Yes Yes
nativeSQL Yes Yes
prepareCall Yes4 Yes
prepareStatement Yes Yes
releaseSavepoint Yes Yes
rollback Yes Yes
setAutoCommit Yes Yes
setCatalog Yes No
setClientInfo2 Yes No
setNetworkTimeout1 Yes No
setReadOnly Yes5 No
setSavepoint Yes Yes
setSchema1 Yes No
setTransactionIsolation Yes Yes
setTypeMap No Yes
Notes:
  1. This is a JDBC 4.1 method.
  2. This is a JDBC 4.0 method.
  3. Under IBM Data Server Driver for JDBC and SQLJ type 4 connectivity, an SQLException is thrown if the timeout parameter value is less than 0. Under IBM Data Server Driver for JDBC and SQLJ type 2 connectivity, an SQLException is thrown if the if the timeout parameter value is not 0.
  4. If the stored procedure in the CALL statement is on Db2 for z/OS, the parameters of the CALL statement cannot be expressions.
  5. The driver does not use the setting. For the IBM Data Server Driver for JDBC and SQLJ, a connection can be set as read-only through the readOnly property for a Connection or DataSource object.
Table 9. Support for javax.sql.ConnectionEvent methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.util.EventObject Yes Yes
getSQLException Yes Yes
Table 10. Support for javax.sql.ConnectionEventListener methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
connectionClosed Yes Yes
connectionErrorOccurred Yes Yes
Table 11. Support for javax.sql.ConnectionPoolDataSource methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getLoginTimeout Yes Yes
getLogWriter Yes Yes
getPooledConnection Yes Yes
setLoginTimeout Yes1 Yes
setLogWriter Yes Yes
Note:
  1. This method is not supported for IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS.
Table 12. Support for java.sql.DatabaseMetaData methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
allProceduresAreCallable Yes Yes
allTablesAreSelectable Yes1 Yes1
dataDefinitionCausesTransactionCommit Yes Yes
dataDefinitionIgnoredInTransactions Yes Yes
deletesAreDetected Yes Yes
doesMaxRowSizeIncludeBlobs Yes Yes
generatedKeyAlwaysReturned2 Yes Yes
getAttributes Yes3 Yes
getBestRowIdentifier Yes Yes
getCatalogs Yes Yes
getCatalogSeparator Yes Yes
getCatalogTerm Yes Yes
getClientInfoProperties7 Yes No
getColumnPrivileges Yes Yes
getColumns Yes8 Yes11
getConnection Yes Yes
getCrossReference Yes Yes
getDatabaseMajorVersion Yes Yes
getDatabaseMinorVersion Yes Yes
getDatabaseProductName Yes Yes
getDatabaseProductVersion Yes Yes
getDefaultTransactionIsolation Yes Yes
getDriverMajorVersion Yes Yes
getDriverMinorVersion Yes Yes
getDriverName Yes9 Yes
getDriverVersion Yes Yes
getExportedKeys Yes Yes
getFunctionColumns7 Yes Yes
getFunctions7 Yes Yes
getExtraNameCharacters Yes Yes
getIdentifierQuoteString Yes Yes
getImportedKeys Yes Yes
getIndexInfo Yes Yes
getJDBCMajorVersion Yes Yes
getJDBCMinorVersion Yes Yes
getMaxBinaryLiteralLength Yes Yes
getMaxCatalogNameLength Yes Yes
getMaxCharLiteralLength Yes Yes
getMaxColumnNameLength Yes Yes
getMaxColumnsInGroupBy Yes Yes
getMaxColumnsInIndex Yes Yes
getMaxColumnsInOrderBy Yes Yes
getMaxColumnsInSelect Yes Yes
getMaxColumnsInTable Yes Yes
getMaxConnections Yes Yes
getMaxCursorNameLength Yes Yes
getMaxIndexLength Yes Yes
getMaxProcedureNameLength Yes Yes
getMaxRowSize Yes Yes
getMaxSchemaNameLength Yes Yes
getMaxStatementLength Yes Yes
getMaxStatements Yes Yes
getMaxTableNameLength Yes Yes
getMaxTablesInSelect Yes Yes
getMaxUserNameLength Yes Yes
getNumericFunctions Yes Yes
getPrimaryKeys Yes Yes
getProcedureColumns Yes8 Yes
getProcedures Yes8 Yes
getProcedureTerm Yes Yes
getPseudoColumns2 Yes No
getResultSetHoldability Yes Yes
getRowIdLifetime7 Yes No
getSchemas Yes10 Yes11
getSchemaTerm Yes Yes
getSearchStringEscape Yes Yes
getSQLKeywords Yes Yes
getSQLStateType Yes Yes
getStringFunctions Yes Yes
getSuperTables Yes3 Yes
getSuperTypes Yes3 Yes
getSystemFunctions Yes Yes
getTablePrivileges Yes Yes
getTables Yes Yes11
getTableTypes Yes Yes
getTimeDateFunctions Yes Yes
getTypeInfo Yes Yes
getUDTs No Yes12
getURL Yes Yes
getUserName Yes Yes
getVersionColumns Yes Yes
insertsAreDetected Yes Yes
isCatalogAtStart Yes Yes
isReadOnly Yes Yes
locatorsUpdateCopy Yes4 Yes4
nullPlusNonNullIsNull Yes Yes
nullsAreSortedAtEnd Yes5 Yes5
nullsAreSortedAtStart Yes Yes
nullsAreSortedHigh Yes6 Yes6
nullsAreSortedLow Yes1 Yes1
othersDeletesAreVisible Yes Yes
othersInsertsAreVisible Yes Yes
othersUpdatesAreVisible Yes Yes
ownDeletesAreVisible Yes Yes
ownInsertsAreVisible Yes Yes
ownUpdatesAreVisible Yes Yes
storesLowerCaseIdentifiers Yes1 Yes1
storesLowerCaseQuotedIdentifiers Yes5 Yes5
storesMixedCaseIdentifiers Yes Yes
storesMixedCaseQuotedIdentifiers Yes Yes
storesUpperCaseIdentifiers Yes6 Yes6
storesUpperCaseQuotedIdentifiers Yes Yes
supportsAlterTableWithAddColumn Yes Yes
supportsAlterTableWithDropColumn Yes1 Yes1
supportsANSI92EntryLevelSQL Yes Yes
supportsANSI92FullSQL Yes Yes
supportsANSI92IntermediateSQL Yes Yes
supportsBatchUpdates Yes Yes
supportsCatalogsInDataManipulation Yes1 Yes1
supportsCatalogsInIndexDefinitions Yes Yes
supportsCatalogsInPrivilegeDefinitions Yes Yes
supportsCatalogsInProcedureCalls Yes1 Yes1
supportsCatalogsInTableDefinitions Yes Yes
SupportsColumnAliasing Yes Yes
supportsConvert Yes Yes
supportsCoreSQLGrammar Yes Yes
supportsCorrelatedSubqueries Yes Yes
supportsDataDefinitionAndDataManipulationTransactions Yes Yes
supportsDataManipulationTransactionsOnly Yes Yes
supportsDifferentTableCorrelationNames Yes5 Yes5
supportsExpressionsInOrderBy Yes Yes
supportsExtendedSQLGrammar Yes Yes
supportsFullOuterJoins Yes4 Yes4
supportsGetGeneratedKeys Yes Yes
supportsGroupBy Yes Yes
supportsGroupByBeyondSelect Yes Yes
supportsGroupByUnrelated Yes Yes
supportsIntegrityEnhancementFacility Yes Yes
supportsLikeEscapeClause Yes Yes
supportsLimitedOuterJoins Yes Yes
supportsMinimumSQLGrammar Yes Yes
supportsMixedCaseIdentifiers Yes Yes
supportsMixedCaseQuotedIdentifiers Yes4 Yes4
supportsMultipleOpenResults Yes6 Yes6
supportsMultipleResultSets Yes6 Yes6
supportsMultipleTransactions Yes Yes
supportsNamedParameters Yes Yes
supportsNonNullableColumns Yes Yes
supportsOpenCursorsAcrossCommit Yes4 Yes4
supportsOpenCursorsAcrossRollback Yes Yes
supportsOpenStatementsAcrossCommit Yes4 Yes4
supportsOpenStatementsAcrossRollback Yes4 Yes4
supportsOrderByUnrelated Yes Yes
supportsOuterJoins Yes Yes
supportsPositionedDelete Yes Yes
supportsPositionedUpdate Yes Yes
supportsResultSetConcurrency Yes Yes
supportsResultSetHoldability Yes Yes
supportsResultSetType Yes Yes
supportsSavepoints Yes Yes
supportsSchemasInDataManipulation Yes Yes
supportsSchemasInIndexDefinitions Yes Yes
supportsSchemasInPrivilegeDefinitions Yes Yes
supportsSchemasInProcedureCalls Yes Yes
supportsSchemasInTableDefinitions Yes Yes
supportsSelectForUpdate Yes Yes
supportsStoredProcedures Yes Yes
supportsSubqueriesInComparisons Yes Yes
supportsSubqueriesInExists Yes Yes
supportsSubqueriesInIns Yes Yes
supportsSubqueriesInQuantifieds Yes Yes
supportsSuperTables Yes No
supportsSuperTypes Yes No
supportsTableCorrelationNames Yes Yes
supportsTransactionIsolationLevel Yes Yes
supportsTransactions Yes Yes
supportsUnion Yes Yes
supportsUnionAll Yes Yes
updatesAreDetected Yes Yes
usesLocalFilePerTable Yes Yes
usesLocalFiles Yes Yes
Notes:
  1. Db2 data sources return false for this method. IBM Informix data sources return true.
  2. This is a JDBC 4.1 method.
  3. This method is supported for connections to Db2 on Linux, UNIX, and Windows systems and IBM Informix only.
  4. Under the IBM Data Server Driver for JDBC and SQLJ, Db2 data sources and IBM Informix data sources return true for this method. Under the IBM Informix JDBC Driver, IBM Informix data sources return false.
  5. Under the IBM Data Server Driver for JDBC and SQLJ, Db2 data sources and IBM Informix data sources return false for this method. Under the IBM Informix JDBC Driver, IBM Informix data sources return true.
  6. Db2 data sources return true for this method. IBM Informix data sources return false.
  7. This is a JDBC 4.0 method.
  8. This method returns the additional column that is described by the JDBC 4.0 specification.
  9. JDBC 3.0 and earlier implementations of the IBM Data Server Driver for JDBC and SQLJ return "IBM DB2® JDBC Universal Driver Architecture."

    The JDBC 4.0 implementation of the IBM Data Server Driver for JDBC and SQLJ returns "IBM Data Server Driver for JDBC and SQLJ."

  10. The JDBC 4.0 form and previous forms of this method are supported.
  11. The Db2 JDBC Type 2 Driver for Linux, UNIX and Windows does not support the JDBC 3.0 form of this method.
  12. The method can be executed, but it returns an empty ResultSet.
Table 13. Support for java.sql.DataSource methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getConnection Yes Yes
getLoginTimeout Yes Yes
getLogWriter Yes Yes
setLoginTimeout Yes1 Yes
setLogWriter Yes Yes
Notes:
  1. This method is not supported for IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS.
Table 14. Support for java.sql.DataTruncation methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Throwable Yes Yes
Methods inherited from java.sql.SQLException Yes Yes
Methods inherited from java.sql.SQLWarning Yes Yes
getDataSize Yes Yes
getIndex Yes Yes
getParameter Yes Yes
getRead Yes Yes
getTransferSize Yes Yes
Table 15. Support for java.sql.Driver methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
acceptsURL Yes Yes
connect Yes Yes
getMajorVersion Yes Yes
getMinorVersion Yes Yes
getParentLogger Yes No
getPropertyInfo Yes Yes
jdbcCompliant Yes Yes
Table 16. Support for java.sql.DriverManager methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
deregisterDriver Yes Yes
getConnection Yes Yes
getDriver Yes Yes
getDrivers Yes Yes
getLoginTimeout Yes Yes
getLogStream Yes Yes
getLogWriter Yes Yes
println Yes Yes
registerDriver Yes Yes
setLoginTimeout Yes1 Yes
setLogStream Yes Yes
setLogWriter Yes Yes
Notes:
  1. This method is not supported for IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS.
Table 17. Support for java.sql.ParameterMetaData methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getParameterClassName No Yes
getParameterCount Yes Yes
getParameterMode Yes Yes
getParameterType Yes Yes
getParameterTypeName Yes Yes
getPrecision Yes Yes
getScale Yes Yes
isNullable Yes Yes
isSigned Yes Yes
Table 18. Support for javax.sql.PooledConnection methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
addConnectionEventListener Yes Yes
addStatementEventListener1 Yes No
close Yes Yes
getConnection Yes Yes
removeConnectionEventListener Yes Yes
removeStatementEventListener1 Yes No
Notes:
  1. This is a JDBC 4.0 method.
Table 19. Support for java.sql.PreparedStatement methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.sql.Statement Yes Yes
addBatch Yes Yes
clearParameters Yes Yes
execute Yes Yes
executeQuery Yes Yes
executeUpdate Yes Yes
getMetaData Yes Yes
getParameterMetaData Yes Yes
setArray No Yes
setAsciiStream Yes1,2 Yes
setBigDecimal Yes Yes
setBinaryStream Yes1,3 Yes
setBlob Yes4 Yes
setBoolean Yes Yes
setByte Yes Yes
setBytes Yes Yes
setCharacterStream Yes1,5 Yes
setClob Yes6 Yes
setDate Yes8 Yes8
setDouble Yes Yes
setFloat Yes Yes
setInt Yes Yes
setLong Yes Yes
setNClob Yes9 Yes
setNString Yes10 Yes
setNull Yes11 Yes11
setObject Yes Yes
setRef No No
setRowId7 Yes No
setShort Yes Yes
setString Yes12 Yes12
setTime Yes8 Yes8
setTimestamp Yes8 Yes8
setUnicodeStream Yes Yes
setURL Yes Yes
Notes:
  1. If the value of the length parameter is -1, all of the data from the InputStream or Reader is read and sent to the data source.
  2. Supported forms of this method include the following JDBC 4.0 forms:
    setAsciiStream(int parameterIndex, InputStream x, long length)
    setAsciiStream(int parameterIndex, InputStream x)
    
  3. Supported forms of this method include the following JDBC 4.0 forms:
    setBinaryStream(int parameterIndex, InputStream x, long length)
    setBinaryStream(int parameterIndex, InputStream x)
    
  4. Supported forms of this method include the following JDBC 4.0 form:
    setBlob(int parameterIndex, InputStream inputStream, long length)
  5. Supported forms of this method include the following JDBC 4.0 forms:
    setCharacterStream(int parameterIndex, Reader reader, long length)
    setCharacterStream(int parameterIndex, Reader reader)
    
  6. Supported forms of this method include the following JDBC 4.0 form:
    setClob(int parameterIndex, Reader reader, long length)
  7. This is a JDBC 4.0 method.
  8. The database server does no timezone adjustment for datetime values. The JDBC driver adjusts a value for the local timezone before sending the value to the server if you specify a form of the setDate, setTime, or setTimestamp method that includes a java.util.Calendar parameter.
  9. Supported forms of this method include the following JDBC 4.0 form:
    setNClob(int parameterIndex, Reader reader, long length)
  10. setNString is not supported if the column has the FOR BIT DATA attribute or the data type is a binary data type.
  11. The following form of setNull is not supported:
    setNull(int parameterIndex, int jdbcType, String typeName)
  12. setString is not supported if the column has the FOR BIT DATA attribute or the data type is the BLOB data type.
Table 20. Support for java.sql.Ref methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
get BaseTypeName No No
Table 21. Support for java.sql.ResultSet methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
absolute Yes Yes
afterLast Yes Yes
beforeFirst Yes Yes
cancelRowUpdates Yes Yes
clearWarnings Yes Yes
close Yes Yes
deleteRow Yes Yes
findColumn Yes Yes
first Yes Yes
getArray No Yes
getAsciiStream Yes Yes
getBigDecimal Yes Yes
getBinaryStream Yes1 Yes
getBlob Yes Yes
getBoolean Yes Yes
getByte Yes Yes
getBytes Yes Yes
getCharacterStream Yes Yes
getClob Yes Yes
getConcurrency Yes Yes
getCursorName Yes Yes
getDate Yes3 Yes3
getDouble Yes Yes
getFetchDirection Yes Yes
getFetchSize Yes Yes
getFloat Yes Yes
getInt Yes Yes
getLong Yes Yes
getMetaData Yes Yes
getNClob Yes Yes
getNString Yes Yes
getObject Yes4 Yes4
getRef No No
getRow Yes Yes
getRowId10 Yes No
getShort Yes Yes
getStatement Yes Yes
getString Yes Yes
getTime Yes3 Yes3
getTimestamp Yes3 Yes3
getType Yes Yes
getUnicodeStream Yes Yes
getURL Yes Yes
getWarnings Yes Yes
insertRow Yes Yes
isAfterLast Yes Yes
isBeforeFirst Yes Yes
isFirst Yes Yes
isLast Yes Yes
last Yes Yes
moveToCurrentRow Yes Yes
moveToInsertRow Yes Yes
next Yes Yes
previous Yes Yes
refreshRow Yes No
relative Yes Yes
rowDeleted Yes No
rowInserted Yes No
rowUpdated Yes No
setFetchDirection Yes Yes
setFetchSize Yes Yes
updateArray No Yes
updateAsciiStream Yes5 Yes
updateBigDecimal Yes Yes
updateBinaryStream Yes6 Yes
updateBlob Yes7 Yes
updateBoolean Yes Yes
updateByte Yes Yes
updateBytes Yes Yes
updateCharacterStream Yes8 Yes
updateClob Yes9 Yes
updateDate Yes Yes
updateDouble Yes Yes
updateFloat Yes Yes
updateInt Yes Yes
updateLong Yes Yes
updateNull Yes Yes
updateObject Yes Yes
updateRef No No
updateRow Yes Yes
updateRowId10 Yes No
updateShort Yes Yes
updateString Yes Yes
updateTime Yes Yes
updateTimestamp Yes Yes
wasNull Yes Yes
Notes:
  1. getBinaryStream is not supported for CLOB columns.
  2. getMetaData pads the schema name, if the returned schema name is less than 8 characters, to fill 8 characters.
  3. The database server does no timezone adjustment for datetime values. The JDBC driver adjusts a value for the local timezone after retrieving the value from the server if you specify a form of the getDate, getTime, or getTimestamp method that includes a java.util.Calendar parameter.
  4. The following form of the getObject method is not supported:
    getObject(int parameterIndex, java.util.Map  map)
  5. Supported forms of this method include the following JDBC 4.0 forms:
    updateAsciiStream(int columnIndex, InputStream x)
    updateAsciiStream(String columnLabel, InputStream x)
    updateAsciiStream(int columnIndex, InputStream x, long length)
    updateAsciiStream(String columnLabel, InputStream x, long length)
  6. Supported forms of this method include the following JDBC 4.0 forms:
    updateBinaryStream(int columnIndex, InputStream x)
    updateBinaryStream(String columnLabel, InputStream x)
    updateBinaryStream(int columnIndex, InputStream x, long length)
    updateBinaryStream(String columnLabel, InputStream x, long length)
  7. Supported forms of this method include the following JDBC 4.0 forms:
    updateBlob(int columnIndex, InputStream x)
    updateBlob(String columnLabel, InputStream x)
    updateBlob(int columnIndex, InputStream x, long length)
    updateBlob(String columnLabel, InputStream x, long length)
  8. Supported forms of this method include the following JDBC 4.0 forms:
    updateCharacterStream(int columnIndex, Reader reader)
    updateCharacterStream(String columnLabel, Reader reader)
    updateCharacterStream(int columnIndex, Reader reader, long length)
    updateCharacterStream(String columnLabel, Reader reader, long length)
  9. Supported forms of this method include the following JDBC 4.0 forms:
    updateClob(int columnIndex, Reader reader)
    updateClob(String columnLabel, Reader reader)
    updateClob(int columnIndex, Reader reader, long length)
    updateClob(String columnLabel, Reader reader, long length)
  10. This is a JDBC 4.0 method.
Table 22. Support for java.sql.ResultSetMetaData methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getCatalogName Yes Yes
getColumnClassName No Yes
getColumnCount Yes Yes
getColumnDisplaySize Yes Yes
getColumnLabel Yes Yes
getColumnName Yes Yes
getColumnType Yes Yes
getColumnTypeName Yes Yes
getPrecision Yes Yes
getScale Yes Yes
getSchemaName Yes Yes
getTableName Yes1 Yes
isAutoIncrement Yes Yes
isCaseSensitive Yes Yes
isCurrency Yes Yes
isDefinitelyWritable Yes Yes
isNullable Yes Yes
isReadOnly Yes Yes
isSearchable Yes Yes
isSigned Yes Yes
isWritable Yes Yes
Notes:
  1. For IBM Informix data sources, getTableName does not return a value.
  2. getSchemaName pads the schema name, if the returned schema name is less than 8 characters, to fill 8 characters.
Table 23. Support for java.sql.RowId methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support2 IBM Informix JDBC Driver support
equals Yes No
getBytes Yes No
hashCode No No
toString Yes No
Notes:
  1. These methods are JDBC 4.0 methods.
  2. These methods are supported for connections to Db2 for z/OS, DB2 for i, and IBM Informix data sources.
Table 24. Support for java.sql.SQLClientInfoException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
getFailedProperties Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 25. Support for java.sql.SQLData methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getSQLTypeName No Yes
readSQL No Yes
writeSQL No Yes
Table 26. Support for java.sql.SQLDataException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 27. Support for java.sql.SQLDataException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 28. Support for java.sql.SQLException methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
getSQLState Yes Yes
getErrorCode Yes Yes
getNextException Yes Yes
setNextException Yes Yes
Table 29. Support for java.sql.SQLFeatureNotSupported methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
Methods inherited from java.lang.Throwable Yes Yes
Methods inherited from java.lang.Object Yes Yes
Note:
  1. This is a JDBC 4.0 class.
Table 30. Support for java.sql.SQLInput methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
readArray No Yes
readAsciiStream No Yes
readBigDecimal No Yes
readBinaryStream No Yes
readBlob No Yes
readBoolean No Yes
readByte No No
readBytes No No
readCharacterStream No No
readClob No Yes
readDate No Yes
readDouble No Yes
readFloat No Yes
readInt No Yes
readLong No Yes
readObject No Yes
readRef No No
readShort No Yes
readString No Yes
readTime No Yes
readTimestamp No Yes
wasNull No Yes
Table 31. Support for java.sql.SQLIntegrityConstraintViolationException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
Methods inherited from java.lang.Throwable Yes Yes
Methods inherited from java.lang.Object Yes Yes
Note:
  1. This is a JDBC 4.0 class.
Table 32. Support for java.sql.SQLInvalidAuthorizationSpecException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
Methods inherited from java.lang.Throwable Yes Yes
Methods inherited from java.lang.Object Yes Yes
Note:
  1. This is a JDBC 4.0 class.
Table 33. Support for java.sql.SQLNonTransientConnectionException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 34. Support for java.sql.SQLNonTransientException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 35. Support for java.sql.SQLOutput methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
writeArray No No
writeAsciiStream No No
writeBigDecimal No No
writeBinaryStream No No
writeBlob No No
writeBoolean No No
writeByte No Yes
writeBytes No Yes
writeCharacterStream No No
writeClob No No
writeDate No Yes
writeDouble No Yes
writeFloat No Yes
writeInt No Yes
writeLong No No
writeObject No No
writeRef No No
writeShort No Yes
writeString No No
writeStruct No No
writeTime No Yes
writeTimestamp No No
Table 36. Support for java.sql.SQLRecoverableException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 37. Support for java.sql.SQLSyntaxErrorException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
Methods inherited from java.lang.Throwable Yes Yes
Methods inherited from java.lang.Object Yes Yes
Note:
  1. This is a JDBC 4.0 class.
Table 38. Support for java.sql.SQLTimeoutException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
Methods inherited from java.lang.Throwable Yes Yes
Methods inherited from java.lang.Object Yes Yes
Note:
  1. This is a JDBC 4.0 class.
Table 39. Support for java.sql.SQLTransientConnectionException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes Yes
Methods inherited from java.lang.Throwable Yes Yes
Methods inherited from java.lang.Object Yes Yes
Note:
  1. This is a JDBC 4.0 class.
Table 40. Support for java.sql.SQLTransientException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 41. Support for java.sql.SQLTransientRollbackException methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
Methods inherited from java.lang.Exception Yes No
Methods inherited from java.lang.Throwable Yes No
Methods inherited from java.lang.Object Yes No
Note:
  1. This is a JDBC 4.0 class.
Table 42. Support for java.sql.SQLXML methods1
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
free Yes No
getBinaryStream Yes No
getCharacterStream Yes No
getSource Yes No
getString Yes No
setBinaryStream Yes No
setCharacterStream Yes No
setResult Yes No
setString Yes No
Notes:
  1. These are JDBC 4.0 methods. These methods are not supported for connections to IBM Informix servers.
Table 43. Support for java.sql.Statement methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
abort1 Yes No
addBatch Yes Yes
cancel Yes2 Yes
clearBatch Yes Yes
clearWarnings Yes Yes
close Yes Yes
closeOnCompletion1 Yes No
execute Yes Yes
executeBatch Yes Yes
executeQuery Yes Yes
executeUpdate Yes Yes
getConnection Yes Yes
getFetchDirection Yes Yes
getFetchSize Yes Yes
getGeneratedKeys Yes Yes
getMaxFieldSize Yes Yes
getMaxRows Yes Yes
getMoreResults Yes Yes
getQueryTimeout Yes7,5 Yes
getResultSet Yes Yes
getResultSetConcurrency Yes Yes
getResultSetHoldability Yes Yes
getResultSetType Yes Yes
getUpdateCount3 Yes Yes
getWarnings Yes Yes
isCloseOnCompletion1 Yes No
isClosed8 Yes Yes
isPoolable8 Yes No
setCursorName Yes Yes
setEscapeProcessing Yes Yes
setFetchDirection Yes Yes
setFetchSize Yes Yes
setMaxFieldSize Yes Yes
setMaxRows Yes Yes
setPoolable8 Yes No
setQueryTimeout Yes4,5,6,7 Yes
Notes:
  1. This is a JDBC 4.1 method.
  2. For the IBM Data Server Driver for JDBC and SQLJ, Statement.cancel is supported only in the following environments:
    • Type 4 connectivity from a Linux, UNIX, or Windows client to a Db2 on Linux, UNIX, and Windows systems server, Version 8 or later
    • Type 2 connectivity from a Db2 on Linux, UNIX, and Windows systems client to a Db2 on Linux, UNIX, and Windows systems server, Version 8 or later
    • Type 4 connectivity from a Linux, UNIX, or Windows client to a Db2 for z/OS server, Version 9 or later.
    • Type 4 connectivity from a z/OS client to a Db2 on Linux, UNIX, and Windows systems server, Version 8 or later
    • Type 4 connectivity from a z/OS client to a Db2 for z/OS server, Version 8 or later

    The action that the IBM Data Server Driver for JDBC and SQLJ takes when the application executes Statement.cancel depends on the setting of the DB2BaseDataSource.interruptProcessingMode property.

    In addition, if DB2BaseDataSource.interruptProcessingMode is set to DB2BaseDataSource.INTERRUPT_PROCESSING_MODE_STATEMENT_CANCEL or DB2BaseDataSource.INTERRUPT_PROCESSING_MODE_CLOSE_SOCKET, and Statement.cancel is executed while an application is executing a method on a ResultSet object, the operation on the ResultSet object might not be canceled. When the Statement.cancel statement is executed, if the underlying processing for the ResultSet method is currently in the data server, execution of the operation is canceled. If the underlying processing for the ResultSet method is in the driver, execution of the operation is not canceled.

  3. Not supported for stored procedure ResultSets.
  4. For DB2 for i, this method is supported only for a seconds value of 0.
  5. For IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS, Statement.setQueryTimeout is supported only if Connection or DataSource property queryTimeoutInterruptProcessingMode is set to INTERRUPT_PROCESSING_MODE_CLOSE_SOCKET.
  6. For IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 on Linux, UNIX, and Windows systems, Statement.setQueryTimeout is supported only if Connection or DataSource property queryTimeoutInterruptProcessingMode is set to INTERRUPT_PROCESSING_MODE_STATEMENT_CANCEL.
  7. For the IBM Data Server Driver for JDBC and SQLJ Version 4.0 and later, Statement.setQueryTimeout is supported for the following methods:
    • Statement.execute
    • Statement.executeUpdate
    • Statement.executeQuery

    Statement.setQueryTimeout is supported for the Statement.executeBatch method only when property queryTimeoutInterruptProcessingMode is set to INTERRUPT_PROCESSING_MODE_CLOSE_SOCKET (2).

  8. This is a JDBC 4.0 method.
Table 44. Support for java.sql.Struct methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getSQLTypeName No Yes
getAttributes No Yes
Table 45. Support for java.sql.Wrapper methods
JDBC method1 IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
isWrapperFor Yes Yes
unWrap Yes Yes
Notes:
  1. These are JDBC 4.0 methods.
Table 46. Support for javax.sql.XAConnection methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support1 IBM Informix JDBC Driver support
Methods inherited from javax.sql.PooledConnection Yes Yes
getXAResource Yes Yes
Notes:
  1. These methods are supported for IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to a Db2 on Linux, UNIX, and Windows systems server or IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.
Table 47. Support for javax.sql.XADataSource methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
getLoginTimeout Yes Yes
getLogWriter Yes Yes
getXAConnection Yes Yes
setLoginTimeout Yes Yes
setLogWriter Yes Yes
Table 48. Support for javax.transaction.xa.XAResource methods
JDBC method IBM Data Server Driver for JDBC and SQLJ support IBM Informix JDBC Driver support
commit Yes1 Yes
end Yes1,2 Yes
forget Yes1 Yes
getTransactionTimeout Yes3 Yes
isSameRM Yes1 Yes
prepare Yes1 Yes
recover Yes1 Yes
rollback Yes1 Yes
setTransactionTimeout Yes3 Yes
start Yes1 Yes
Notes:
  1. This method is supported for IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to a Db2 on Linux, UNIX, and Windows systems server or IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.
  2. When the end method is called, the IBM Data Server Driver for JDBC and SQLJ closes the underlying cursor, even if the TMSUSPEND flag is specified.
  3. This method is supported for IBM Data Server Driver for JDBC and SQLJ type 4 connectivity to Db2 on Linux, UNIX, and Windows systems Version 9.1 or later.