JDBC 4.2 compliance for the JDBC driver
Note
Versions prior to Microsoft JDBC Driver 4.2 for SQL Server are compliant for Java Database Connectivity API 4.0 specifications. This section does not apply for versions prior to the 4.2 release.
The Java Database Connectivity API 4.2 specification is supported by the Microsoft JDBC Driver 4.2 for SQL Server, with the following API methods.
SQLServerStatement class
New Methods | Description | Noteworthy Implementation |
---|---|---|
long[] executeLargeBatch() | Executes batch where returned update counts can be long. | Implemented as described in the java.sql.Statement interface. For more information, see java.sql.Statement. |
long executeLargeUpdate(String sql) long executeLargeUpdate(String sql, int autoGeneratedKeys) long executeLargeUpdate(String sql, int[] columnIndexes) executeLargeUpdate(String sql, String[] columnNames) |
Executes a DML/DDL statement where returned update counts can be long. There are 4 new (overloaded) methods to support long update count. | Implemented as described in the java.sql.Statement interface. For more information, see java.sql.Statement. |
long getLargeMaxRows() | Retrieves the maximum number of rows as a long value that the ResultSet can contain. | SQL Server only supports integer limits for max rows. For more information, see java.sql.Statement. |
long getLargeUpdateCount() | Retrieves the current result as a long update count. | SQL Server only supports integer limits for max rows. For more information, see java.sql.Statement. |
void setLargeMaxRows(long max) | Sets the maximum number of rows as a long value that the ResultSet can contain. | SQL Server only supports integer limits for max rows. This method throws a not supported exception if greater than max integer size is passed as the parameter. For more information, see java.sql.Statement. |
SQLServerCallableStatement class
New Methods | Description | Noteworthy Implementation |
---|---|---|
void registerOutParameter(int parameterIndex, SQLType sqlType) void registerOutParameter(int parameterIndex, SQLType sqlType, int scale) void registerOutParameter(int parameterIndex, SQLType sqlType, String typeName) void registerOutParameter(String parameterName, SQLType sqlType) void registerOutParameter(String parameterName, SQLType sqlType, int scale) registerOutParameter(String parameterName, SQLType sqlType, String typeName) |
Registers the OUT parameter. There are 6 new (overloaded) methods to support the new SQLType interface. | Implemented as described in the java.sql.CallableStatement interface. For more information, see java.sql.CallableStatement. |
void setObject(String parameterName, Object x, SQLType targetSqlType) void setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength) |
Sets the value of the parameter with the given object. There are 2 new (overloaded) methods to support the new SQLType interface | Implemented as described in the java.sql.CallableStatement interface. For more information, see java.sql.CallableStatement. |
SQLServerPreparedStatement class
New Methods | Description | Noteworthy Implementation |
---|---|---|
long executeLargeUpdate() | Execute DML/DDL statement and return long update count | Implemented as described in the java.sql.PreparedStatement interface. For more information, see java.sql.PreparedStatement. |
void setObject(int parameterIndex, Object x, SQLType targetSqlType) void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) |
Sets the value of the parameter with the given object. There are 2 new (overloaded) methods to support the new SQLType interface. | Implemented as described in the java.sql.PreparedStatement interface. For more information, see java.sql.PreparedStatement. |
SQLServerDatabaseMetaData class
New Methods | Description | Noteworthy Implementation |
---|---|---|
long getMaxLogicalLobSize() | Retrieves the maximum number of bytes this database allows for the logical size for a LOB. | For SQL Server, this value is 2^31-1. For more information, see java.sql.DatabaseMetaData. |
boolean supportsRefCursors() | Retrieves whether this database supports REF CURSOR. | Returns false as SQL Server doesn't support REF CURSOR. For more information, see java.sql.DatabaseMetaData. |
SQLServerResultSet class
New Methods | Description | Noteworthy Implementation |
---|---|---|
Updates the specified column with an Object value. There are 4 new (overloaded) methods to support the new SQLType interface. | Implemented as described in the java.sql.ResultSet interface. For more information, see java.sql.ResultSet. |
The Java Database Connectivity API 4.2 specification is supported by the Microsoft JDBC Driver 4.2 for SQL Server, with the following Data Type Mappings.
New Data Type Mappings | Description |
---|---|
New Java classes in Java 8: LocalDate/LocalTime/LocalDateTime OffsetTime/OffsetDateTime New JDBC types: TIME_WITH_TIMEZONE TIMESTAMP_WITH_TIMEZONE REF_CURSOR |
REF_CURSOR isn't supported in SQL Server. Driver throws a SQLFeatureNotSupportedException exception if this type is used. The driver supports all other new Java and JDBC type mappings as specified in the JDBC 4.2 specification. |