JDBC 驱动程序的 JDBC 4.2 合规性

下载 JDBC 驱动程序

注意

早于 Microsoft JDBC Driver 4.2 for SQL Server 的版本兼容 Java Database Connectivity API 4.0 规范。 本部分不适用于 4.2 版本之前的版本。

Microsoft JDBC Driver 4.2 for SQL Server 支持 Java Database Connectivity API 4.2 规范,并带有以下 API 方法。

SQLServerStatement 类

新方法 说明 值得注意的实现
long[] executeLargeBatch() 执行批,其中返回的更新计数可以是 long 型。 按 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 语句,其中返回的更新计数可以是 long 型。 有 4 种新的(重载)方法来支持 long 型更新计数。 按 java.sql.Statement 接口中所述实现。 有关详细信息,请参阅 java.sql.Statement
long getLargeMaxRows() 检索最大行数作为 long 型值,ResultSet 可以包含该值。 SQL Server 仅支持最大行的 Integer 型限制。 有关详细信息,请参阅 java.sql.Statement
long getLargeUpdateCount() 检索当前结果作为 long 型更新计数。 SQL Server 仅支持最大行的 Integer 型限制。 有关详细信息,请参阅 java.sql.Statement
void setLargeMaxRows(long max) 将最大行数设置为 ResultSet 可以包含的 long 型值。 SQL Server 仅支持最大行的 Integer 型限制。 如果传递的参数大于最大 Integer 型大小,此方法将引发不受支持的异常。 有关详细信息,请参阅 java.sql.Statement

SQLServerCallableStatement 类

新方法 说明 值得注意的实现
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 类

新方法 说明 值得注意的实现
long executeLargeUpdate() 执行 DML/DDL 语句并返回 long 型更新计数 按 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 类

新方法 说明 值得注意的实现
long getMaxLogicalLobSize() 检索此数据库在 LOB 的逻辑大小中允许的最大字节数。 对于 SQL Server,此值为 2^31-1。 有关详细信息,请参阅 java.sql.DatabaseMetaData
boolean supportsRefCursors() 检索此数据库是否支持 REF CURSOR。 由于 SQL Server 不支持 REF CURSOR,将返回 false。 有关详细信息,请参阅 java.sql.DatabaseMetaData

SQLServerResultSet 类

新方法 说明 值得注意的实现
使用对象值更新指定列。 有 4 种新的(重载)方法来支持新的 SQLType 接口。 按 java.sql.ResultSet 接口中所述实现。 有关详细信息,请参阅 java.sql.ResultSet

Microsoft JDBC Driver 4.2 for SQL Server 支持 Java Database Connectivity API 4.2 规范,并带有以下数据类型映射。

新的数据类型映射 说明
Java 8 中新增的 Java 类:

LocalDate/LocalTime/LocalDateTime

OffsetTime/OffsetDateTime

新的 JDBC 类型:

TIME_WITH_TIMEZONE

TIMESTAMP_WITH_TIMEZONE

REF_CURSOR
REF_CURSOR 在 SQL Server 中不受支持。 如果使用此类型,驱动程序将引发 SQLFeatureNotSupportedException 异常。 该驱动程序支持 JDBC 4.2 规范中指定所有其他新的 Java 和 JDBC 类型映射。