Conformidade com JDBC 4.2 para o JDBC Driver

Baixar driver JDBC

Observação

Versões anteriores ao Microsoft JDBC Driver 4.2 para SQL Server são compatíveis com as especificações de API do Java Database Connectivity 4.0. Esta seção não se aplica a versões anteriores à versão 4.2.

A especificação de API do Java Database Connectivity 4.2 tem suporte pelo Microsoft JDBC Driver 4.2 para SQL Server, com os seguintes métodos de API.

Classe SQLServerStatement

Novos métodos Descrição Implementação notável
long[] executeLargeBatch() Executa o lote no qual as contagens de atualização retornada podem ser longas. Implementado conforme descrito na interface java.sql.Statement. Para obter mais informações, confira java.sql.Statement.
long executeLargeUpdate(String sql)

long executeLargeUpdate(String sql, int autoGeneratedKeys)

long executeLargeUpdate(String sql, int[] columnIndexes)

executeLargeUpdate(String sql, String[] columnNames)
Executa uma instrução DML/DDL em que as contagens de atualização retornada podem ser longas. Há 4 novos métodos (sobrecarregados) para dar suporte a contagem de atualização longa. Implementado conforme descrito na interface java.sql.Statement. Para obter mais informações, confira java.sql.Statement.
long getLargeMaxRows() Recupera o número máximo de linhas como um valor longo que o ResultSet pode conter. O SQL Server só dá suporte a limites de inteiro para máximo de linhas. Para obter mais informações, confira java.sql.Statement.
long getLargeUpdateCount() Recupera o resultado atual como uma contagem de atualização longa. O SQL Server só dá suporte a limites de inteiro para máximo de linhas. Para obter mais informações, confira java.sql.Statement.
void setLargeMaxRows(long max) Define o número máximo de linhas como um valor longo que o ResultSet pode conter. O SQL Server só dá suporte a limites de inteiro para máximo de linhas. Esse método lançará uma exceção sem suporte se um tamanho maior do que o inteiro máximo for passado como o parâmetro. Para obter mais informações, confira java.sql.Statement.

Classe SQLServerCallableStatement

Novos métodos Descrição Implementação notável
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 o parâmetro OUT. Há seis novos métodos (sobrecarregados) para dar suporte à nova interface SQLType. Implementado conforme descrito na interface java.sql.CallableStatement. Para obter mais informações, confira java.sql.CallableStatement.
void setObject(String parameterName, Object x, SQLType targetSqlType)

void setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength)
Define o valor do parâmetro com o objeto especificado. Há dois novos métodos (sobrecarregados) para dar suporte à nova interface SQLType Implementado conforme descrito na interface java.sql.CallableStatement. Para obter mais informações, confira java.sql.CallableStatement.

Classe SQLServerPreparedStatement

Novos métodos Descrição Implementação notável
long executeLargeUpdate() Executar a instrução DML/DDL e retornar contagem de atualização longa Implementado conforme descrito na interface java.sql.PreparedStatement. Para obter mais informações, confira java.sql.PreparedStatement.
void setObject(int parameterIndex, Object x, SQLType targetSqlType)

void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)
Define o valor do parâmetro com o objeto especificado. Há 2 novos métodos (sobrecarregados) para dar suporte à nova interface SQLType. Implementado conforme descrito na interface java.sql.PreparedStatement. Para obter mais informações, confira java.sql.PreparedStatement.

Classe SQLServerDatabaseMetaData

Novos métodos Descrição Implementação notável
long getMaxLogicalLobSize() Recupera o número máximo de bytes que esse banco de dados permite para o tamanho lógico de uma LOB. Esse valor será 2^31-1 para o SQL Server. Para obter mais informações, confira java.sql.DatabaseMetaData.
boolean supportsRefCursors() Recupera se esse banco de dados dá suporte a REF CURSOR. Retorna falso, pois o SQL Server não é compatível com REF CURSOR. Para obter mais informações, confira java.sql.DatabaseMetaData.

Classe SQLServerResultSet

Novos métodos Descrição Implementação notável
Atualiza a coluna especificada com um valor do Objeto. Há 4 novos métodos (sobrecarregados) para dar suporte à nova interface SQLType. Implementado conforme descrito na interface java.sql.ResultSet. Para obter mais informações, confira java.sql.ResultSet.

A especificação de API do Java Database Connectivity 4.2 tem suporte pelo Microsoft JDBC Driver 4.2 para SQL Server, com os mapeamentos de tipo de dados a seguir.

Novos mapeamentos de tipo de dados Descrição
Novas classes Java em Java 8:

LocalDate/LocalTime/LocalDateTime

OffsetTime/OffsetDateTime

Novos tipos JDBC:

TIME_WITH_TIMEZONE

TIMESTAMP_WITH_TIMEZONE

REF_CURSOR
O REF_CURSOR não é compatível com o SQL Server. O driver lançará uma exceção SQLFeatureNotSupportedException se esse tipo for usado. O driver dá suporte a todos os novos mapeamentos de tipo de Java e JDBC, conforme indicado na especificação do JDBC 4.2.