適用於 JDBC 驅動程式的 JDBC 4.2 合規性

下載 JDBC 驅動程式

注意

適用於 SQL Server 的 Microsoft JDBC 驅動程式 4.2 之前的版本,與 Java 資料庫連線 API 4.0 規格相容。 本節不適用於在 4.2 版之前的版本。

Microsoft JDBC Driver 4.2 for SQL Server 可使用下列 API 方法,支援 Java 資料庫連線 API 4.2 規格。

SQLServerStatement 類別

新的方法 Description 值得注意的實作
long[] executeLargeBatch() 執行批次,其中傳回的更新計數可能會很長。 如 java.sql.Statement 介面中所述實作。 如需詳細資訊,請參閱 java.sql.Statement (英文)。
long executeLargeUpdate(String sql)

long executeLargeUpdate(String sql, int autoGeneratedKeys)

long executeLargeUpdate(String sql, int[] columnIndexes)

executeLargeUpdate(String sql, String[] columnNames)
執行資料操作語言 (DML)/資料定義語言 (DDL),其中傳回的更新計數可能會很長。 有 4 個新的 (多載) 方法來支援較長的更新計數。 如 java.sql.Statement 介面中所述實作。 如需詳細資訊,請參閱 java.sql.Statement (英文)。
long getLargeMaxRows() 擷取資料列的最大數目為長整數值,該結果集可以取得此數值。 SQL Server 只支援最大資料列的整數限制。 如需詳細資訊,請參閱 java.sql.Statement (英文)。
long getLargeUpdateCount() 擷取目前結果為長整數值,當做更新計數。 SQL Server 只支援最大資料列的整數限制。 如需詳細資訊,請參閱 java.sql.Statement (英文)。
void setLargeMaxRows(long max) 設定資料列的最大數目為長整數值,該結果集可以取得此數值。 SQL Server 只支援最大資料列的整數限制。 如果大於最大整數大小的值做為參數傳遞,這個方法就會擲回不受支援的例外狀況。 如需詳細資訊,請參閱 java.sql.Statement (英文)。

SQLServerCallableStatement 類別

新的方法 Description 值得注意的實作
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)
註冊 OUT 參數。 有 6 個新的 (多載) 方法來支援新的 SQLType 介面。 如 java.sql.CallableStatement 介面中所述實作。 如需詳細資訊,請參閱 java.sql.CallableStatement (英文)。
void setObject(String parameterName, Object x, SQLType targetSqlType)

void setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength)
設定具有指定物件的參數值。 有 2 個新的 (多載) 方法來支援新的 SQLType 介面 如 java.sql.CallableStatement 介面中所述實作。 如需詳細資訊,請參閱 java.sql.CallableStatement (英文)。

SQLServerPreparedStatement 類別

新的方法 Description 值得注意的實作
long executeLargeUpdate() 執行 DML/DDL 陳述式,並傳回較長的更新計數 如 java.sql.PreparedStatement 介面中所述實作。 如需詳細資訊,請參閱 java.sql.PreparedStatement (英文)。
void setObject(int parameterIndex, Object x, SQLType targetSqlType)

void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)
設定具有指定物件的參數值。 有 2 個新的 (多載) 方法來支援新的 SQLType 介面。 如 java.sql.PreparedStatement 介面中所述實作。 如需詳細資訊,請參閱 java.sql.PreparedStatement (英文)。

SQLServerDatabaseMetaData 類別

新的方法 Description 值得注意的實作
long getMaxLogicalLobSize() 擷取這個資料庫對 LOB 邏輯大小所允許的位元組數目上限。 在 SQL Server,這個值是 2^31-1。 如需詳細資料,請參閱 java.sql.DatabaseMetaData (英文)。
boolean supportsRefCursors() 擷取值,此值指出這個資料庫是否支援 REF CURSOR。 因為 SQL Server 不支援 REF CURSOR,所以會傳回 false。 如需詳細資料,請參閱 java.sql.DatabaseMetaData (英文)。

SQLServerResultSet 類別

新的方法 Description 值得注意的實作
使用物件值更新指定的資料行。 有 4 個新的 (多載) 方法來支援新的 SQLType 介面。 如 java.sql.ResultSet 介面中所述實作。 如需詳細資訊,請參閱 java.sql.ResultSet (英文)。

Microsoft JDBC Driver 4.2 for SQL Server 可使用下列資料類型對應,支援 Java 資料庫連線 API 4.2 規格。

新的資料類型對應 Description
Java 8 中的新 Java 類別:

LocalDate/LocalTime/LocalDateTime

OffsetTime/OffsetDateTime

新的 JDBC 類型:

TIME_WITH_TIMEZONE

TIMESTAMP_WITH_TIMEZONE

REF_CURSOR
SQL Server 中不支援 REF_CURSOR。 如果使用了此類型,則驅動程式會擲回 SQLFeatureNotSupportedException 例外狀況。 該驅動程式支援所有其他新的 Java 和 JDBC 類型對應,如 JDBC 4.2 規格中所指定。