Cumplimiento de JDBC 4.2 con el controlador JDBC

Descargar controlador JDBC

Nota

Las versiones anteriores de Microsoft JDBC Driver 4.2 para SQL Server son compatibles con las especificaciones de la API de Java Database Connectivity 4.0. Esta sección no es aplicable a las versiones anteriores a la versión 4.2.

La especificación de la API de Java Database Connectivity 4.2 es compatible con Microsoft JDBC Driver 4.2 para SQL Server, con los siguientes métodos de API.

SQLServerStatement, clase

Nuevos métodos Descripción Implementación importante
long[] executeLargeBatch() Ejecuta el lote donde los recuentos de actualizaciones devueltos pueden ser largos. Se implementa como se describe en la interfaz java.sql.Statement. Para obtener más información, vea java.sql.Statement.
long executeLargeUpdate(String sql)

long executeLargeUpdate(String sql, int autoGeneratedKeys)

long executeLargeUpdate(String sql, int[] columnIndexes)

executeLargeUpdate(String sql, String[] columnNames)
Ejecuta una instrucción DML/DDL donde los recuentos de actualizaciones devueltos pueden ser largos. Hay 4 nuevos métodos (sobrecargados) para admitir recuentos de actualizaciones largos. Se implementa como se describe en la interfaz java.sql.Statement. Para obtener más información, vea java.sql.Statement.
long getLargeMaxRows() Recupera el número máximo de filas como un valor largo que puede contener el ResultSet. SQL Server solo es compatible con límites de enteros para el máximo de filas. Para obtener más información, vea java.sql.Statement.
long getLargeUpdateCount() Recupera el resultado actual como un recuento de actualizaciones. SQL Server solo es compatible con límites de enteros para el máximo de filas. Para obtener más información, vea java.sql.Statement.
void setLargeMaxRows(long max) Establece el número máximo de filas como un valor largo que puede contener el ResultSet. SQL Server solo es compatible con límites de enteros para el máximo de filas. Este método produce una excepción no admitida si se pasa como parámetro un tamaño mayor que el entero máximo. Para obtener más información, vea java.sql.Statement.

SQLServerCallableStatement, clase

Nuevos métodos Descripción Implementación importante
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)
Registra el parámetro OUT. Hay 6 nuevos métodos (sobrecargados) para admitir la nueva interfaz SQLType. Se implementa como se describe en la interfaz java.sql.CallableStatement. Para obtener más información, vea java.sql.CallableStatement.
void setObject(String parameterName, Object x, SQLType targetSqlType)

void setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength)
Establece el valor del parámetro con el objeto especificado. Hay 2 nuevos métodos (sobrecargados) para admitir la nueva interfaz SQLType. Se implementa como se describe en la interfaz java.sql.CallableStatement. Para obtener más información, vea java.sql.CallableStatement.

SQLServerPreparedStatement, clase

Nuevos métodos Descripción Implementación importante
long executeLargeUpdate() Ejecuta la instrucción DML o DDL y devuelve el recuento de actualización largo Se implementa como se describe en la interfaz java.sql.PreparedStatement. Para obtener más información, vea java.sql.PreparedStatement.
void setObject(int parameterIndex, Object x, SQLType targetSqlType)

void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)
Establece el valor del parámetro con el objeto especificado. Hay dos nuevos métodos (sobrecargados) para admitir la nueva interfaz SQLType. Se implementa como se describe en la interfaz java.sql.PreparedStatement. Para obtener más información, vea java.sql.PreparedStatement.

SQLServerDatabaseMetaData, clase

Nuevos métodos Descripción Implementación importante
long getMaxLogicalLobSize() Recupera el número máximo de bytes que esta base de datos permite para el tamaño lógico de un LOB. Para SQL Server, este valor es 2^31-1. Para obtener más información, vea java.sql.DatabaseMetaData.
boolean supportsRefCursors() Recupera si esta base de datos admite REF CURSOR. Devuelve "false", ya que SQL Server no admite REF CURSOR. Para obtener más información, vea java.sql.DatabaseMetaData.

clase SQLServerResultSet

Nuevos métodos Descripción Implementación importante
Actualiza la columna especificada con un valor Object. Hay 4 nuevos métodos (sobrecargados) para admitir la nueva interfaz SQLType. Se implementa como se describe en la interfaz java.sql.ResultSet. Para obtener más información, vea java.sql.ResultSet.

La especificación de la API de Java Database Connectivity 4.2 es compatible con Microsoft JDBC Driver 4.2 para SQL Server, con las siguientes asignaciones de tipo de datos.

Nuevas asignaciones de tipo de datos Descripción
Nuevas clases de Java en Java 8:

LocalDate/LocalTime/LocalDateTime

OffsetTime/OffsetDateTime

Nuevos tipos JDBC:

TIME_WITH_TIMEZONE

TIMESTAMP_WITH_TIMEZONE

REF_CURSOR
REF_CURSOR no se admite en SQL Server. El controlador produce una excepción de SQLFeatureNotSupportedException si se usa este tipo. El controlador es compatible con todas las demás asignaciones de tipo de Java y JDBC nuevas como se especifica en la especificación de JDBC 4.2.