Partilhar via


Notas de versão do Microsoft JDBC Driver para SQL Server

Este artigo lista as versões do Microsoft JDBC Driver para SQL Server. Para cada versão de lançamento, as alterações são nomeadas e descritas.

12.8

Baixe o Microsoft JDBC Driver 12.8.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.8.1 para SQL Server (tar.gz)

Número da versão: 12.8.1
Lançamento: 22 de agosto de 2024

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

12.8 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.8. GitHub, 12.8.0
Maven Central
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.8 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-12.8.0.jre11.jar do pacote 12.8 deve ser usado com Java 11 (ou superior).
Compatível com Java Development Kit (JDK) versão 22.0, 21.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.8 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 22.0, além do JDK 21.0, 17.0, 11.0 e 1.8.

12.8 Lançamentos

Número da versão: 12.8.1
Lançamento: 22 de agosto de 2024

Alterações no ponto 12.8.1:

  • Registo MSAL alterado de FINER para FINEST

Problemas corrigidos na versão 12.8.1:

  • Ajustado o DESTINATION_COL_METADATA_LOCK no SQLServerBulkCopy, de modo a ser libertado corretamente em todos os casos.
  • Alterado o comportamento do driver para permitir que objetos de instrução preparados sejam reutilizados, prevenindo um erro de "várias consultas não são permitidas"
  • Revertida a funcionalidade "Executar Procedimentos Armazenados Diretamente" e as alterações subsequentes relacionadas com ela.

Baixe o Microsoft JDBC Driver 12.8.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.8.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 12.8.0
Lançado: 31 de julho de 2024

Baixar Microsoft JDBC Driver 12.8.0 para SQL Server (zip)
Download Microsoft JDBC Driver 12.8.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Novos recursos na versão 12.8

Funcionalidade Detalhes
Suporte a Java 22 O driver agora é compatível com o Java Development Kit (JDK) versão 22.0, além do JDK 21.0, 17.0, 11.0 e 1.8.
Cache de credenciais adicionado ao usar a Credencial de Identidade Gerenciada ou a Credencial Padrão do Azure A fim de melhorar o desempenho e a confiabilidade do driver, o driver agora permite o cache das credenciais mencionadas anteriormente.
Permitir o armazenamento em cache do objeto SQLServerBulkCopy ao usar cópia em massa para inserção em lote Substitui o comportamento anterior, em que cada chamada de executeBatch() gerou um novo objeto SQLServerBulkCopy, armazenando em cache o objeto.
Adicionado cache de nível de conexão para metadata da coluna de destino em cópia em massa Melhora o desempenho adicionando cache no nível de conexão para metadados da coluna de destino em cenários de cópia em massa. Esse recurso é habilitado definindo a propriedade de cadeia de conexão recém-adicionada cacheBulkCopyMetadata como true (o valor padrão é false).
Adicionado um manipulador de mensagens do SQL Server e suporte para encadeamento SQLException Adicionado um manipulador de mensagens do SQL Server que permite vários recursos, incluindo feedback adicional para consultas de longa execução, registo de erros universal e downgrade automático da gravidade da mensagem de erro de SQLException para SQLWarning. Além disso, esse recurso permite o encadeamento de SQLExceptions juntos para que todas as mensagens de erro estejam disponíveis para o usuário. Consulte Tratamento de erros.
Forneceu suporte completo para RFC4180 para operações de inserção em massa CSV Faltava suporte para campos entre aspas contendo linhas novas, para garantir total suporte com o RFC4180; este suporte foi agora adicionado.
Permitir a construção de uma instância microsoft.sql.DateTimeOffset a partir de um valor java.time.OffsetDateTime A conversão entre os dois tipos de dados já existia no driver usando um intermediário Timestamp. Essa adição remove esse intermediário, melhorando o desempenho e reduzindo o potencial de erros relacionados ao fuso horário.

Alterações em 12.8

Alteração Detalhes
Enum SQLServerSortOrder agora é público Mudou a visibilidade do enum SQLServerSortOrder para o público, o que permite aos usuários maior flexibilidade nas consultas que usam este enum.
Remover synchronized das substituições de soquete Incorretamente adicionados em alterações anteriores para confirmar com padrões de verificação de código, os métodos de seleção alterados não precisam, de fato, ser sincronizados e são alterados para refletir esse fato.
As alterações anteriores em RMERR/RMFAIL foram revistas ao definir RMFAIL como padrão. Alterações anteriores alteraram o valor de XAER_RMFAIL para XAER_RMERR para casos selecionados, no entanto, esses casos rapidamente se tornaram a maioria de todos os casos cobertos. A solução é alterar o padrão para RMFAIL e converter para RMERR para o oposto dos casos declarados anteriormente.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, bouncycastlee msal.
Suporte revisto para TDSType.GUID Melhora a adição original de suporte para TDSType.GUID, permitindo a passagem direta do UUID para o método setObject.
Adicionado registro em log ao cache de token Adicionados mais registos para cenários de armazenamento em cache de tokens para ajudar na depuração.

Correções na versão 12.8

Corrigir Detalhes
Regressão fixa com especificação de nomes de argumento na sintaxe da instrução chamável Corrigida uma regressão de 12.6.2 --> 12.6.3 onde CallableStatements de um determinado formato retornava valores incorretos. Problema #2477 do GitHub.
Análise fixa para parênteses em procedimentos armazenados e funções Correção para um problema em que chamar uma função com parênteses no final numa instrução chamável, por exemplo, function() vs function, resultando que o valor de retorno seja sempre 0. Esta alteração foi uma regressão de 12.6.2 --> 12.6.3. Problema do GitHub #2463.
Corrigido um erro em que o driver não estava respeitando CallableStatement com argumentos predefinidos. Corrigido um erro que era uma regressão de 12.5.0 --> 12.6.0, onde os argumentos padrão em declarações invocáveis estavam a ser ignorados. Problema #2446 do GitHub.
Correção para remover a classe TokenCredential quando o condutor não a exige. TokenCredentialClass não é necessário em SQLServerSecurityUtility e pode causar um NoClassDefFoundErrorlançado incorretamente. Essa correção remove a importação, substituindo-a por um Objectgenérico . Edição #2439 do GitHub.
Corrigido erro de conversão de cadeia de caracteres de timestamp para instruções "CallableStatement" Corrigida uma exceção de conversão que ocorria ao chamar um parâmetro de entrada/saída de DateTime ao definir um valor de String. Problema #2436 do GitHub.
Corrigido o construtor SqlAuthenticationToken para aceitar o parâmetro correto O construtor de SQLAuthenticationToken estava incorreto, trabalhando com um parâmetro de entrada em segundos, quando deveria ser milissegundos. GitHub Issue #2424.
Correção para limpar o identificador de instrução preparado antes da reconexão Isso corrige um problema em que as alças erradas eram usadas em um SQLServerPreparedStatement após a reconexão, limpando corretamente SQLServerPreparedStatement.prepStmtHandle antes de se reconectar. Problema #2364 do GitHub.
Correção para limpar o cache de instruções preparadas ao redefinir a conexão do pool de declarações Isso corrige um problema em que, com o pool de instruções habilitado, a reutilização de uma conexão de um ConnectionPool resultava em entradas ausentes ou inseridas incorretamente. Problema #2356 do GitHub.
Correção para desvincular socketTimeout do loginTimeout socketTimeout deve ter um limite superior de loginTimeout para o estabelecimento da conexão, mas não deve ter limite superior depois que o driver estiver conectado. Essa alteração corrige esse comportamento. Problema #2354 do GitHub.
Corrigir para verificar corretamente se o contador TDSCommand é nulo antes de tentar incrementá-lo Adiciona uma verificação que faltava para null no contador de TDSCommand, prevenindo um NullPointerException que poderia ocorrer. Questão #2353 do GitHub.
Corrigir procedimentos de invocação com parâmetros de saída usando sua sintaxe de quatro partes Corrige um problema em que a chamada de procedimentos armazenados com uma sintaxe de quatro partes (ou seja, com um servidor vinculado) resultava em um erro informando que o fluxo do protocolo TDS não é válido. Problema #2344 do GitHub.
Correção para escapar corretamente os parâmetros schema para getProcedures e getProcedureColumns Os métodos SQLServerDatabaseMetadatagetProcedures e getProcedureColumns não estavam escapando corretamente de certos caracteres (por exemplo, \) para o parâmetro schema. Esta alteração corrige esse problema. Problema do GitHub #2336.
Adicionado mapa de cache de token para corrigir o uso de token de autenticação não intencional para conexões subsequentes Isso corrige um problema em que as credenciais do cliente poderiam ser reutilizadas inadvertidamente. Enquanto o token de autenticação foi armazenado corretamente em cache, o driver estava reutilizando o token com apenas o segredo do cliente alterado. Edição #2334 do GitHub.
Suporte fixo para sintaxe de escape de exec em CallableStatements Isso corrige um problema em que, depois de remover as chamadas encapsuladas de sp_executesql/sp_prepexec para executar CallableStatements rapidamente, as chamadas EXEC não estavam mais funcionando. Edição #2325 do GitHub.
Correção para garantir que Money e SmallMoney estejam dentro dos intervalos corretos para cópia em massa Isso corrige um problema em que, ao usar cópia em massa com valores Money ou SmallMoney, a conversão de/para os valores pode causar um ArithmeticOverflowException. Problema #2309 do GitHub.
Correção para garantir que ResultSetMetadata para DatabaseMetadata.getColumns() esteja correto para todas as colunas Os metadados retornados estavam incorretos para algumas colunas, essa alteração corrige esse problema. Problema #2232 do GitHub.
Correção para desativar corretamente as novas tentativas de conexão quando connectRetryCount estiver definido como 0 Isso corrige o comportamento em que, mesmo com connectRetryCount definido como 0, o driver tentou tentar novamente até que loginTimeout fosse alcançado. Problema do GitHub #2232. Problema #2188 do GitHub.
Correção para resolver um vazamento de ClassLoader de ActivityCorrelatorThreadLocal Corrige um problema em que, após alterações anteriores do driver para ActivityId, ThreadLocal no ActivityCorrelator nunca é removido do thread.
Correção para executar procedimentos armazenados diretamente para chamadas RPC As chamadas RPC estavam usando a lógica anterior, sendo envolvidas em chamadas sp_executesql; Essa alteração corrige esse comportamento.

Versões anteriores

12.6

Baixe o Microsoft JDBC Driver 12.6.4 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.4 para SQL Server (tar.gz)

Número da versão: 12.6.4
Lançamento: 29 de agosto de 2024

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

12.6 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.6. GitHub, 12.6.0
Maven Central
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.6 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-12.6.0.jre11.jar do pacote 12.6 deve ser usado com Java 11 (ou superior).
Compatível com Java Development Kit (JDK) versão 21.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.6 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 21.0, além do JDK 17.0, 11.0 e 1.8.

12.6 Versões

Número da versão: 12.6.4
Lançamento: 29 de agosto de 2024

Problemas corrigidos na versão 12.6.4:

  • Revertida a funcionalidade "Executar Procedimentos Armazenados Diretamente" e as alterações subsequentes relacionadas com a funcionalidade.

Baixe o Microsoft JDBC Driver 12.6.4 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.4 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 12.6.3
Lançado: 20 de junho de 2024

Problemas corrigidos na versão 12.6.3:

  • Corrigido o problema em que a classe TokenCredential precisava ser importada
  • Regressão de conversão de cadeia de caracteres de carimbo de data/hora fixa
  • Regressão de valor padrão do SQLServerCallableStatement reparada

Baixe o Microsoft JDBC Driver 12.6.3 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.3 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 12.6.2
Lançado: 23 de maio de 2024

Recursos adicionados na versão 12.6.2:

  • Adicionado armazenamento em cache de credenciais para Credencial de Identidade Gerenciada e Credencial Azure Padrão

Problemas corrigidos na versão 12.6.2:

  • Verifique se o dinheiro e o dinheiro pequeno estão dentro do intervalo correto para cópia em massa
  • Verifique se o contador TDSCommand é nulo antes de incrementar
  • Limpar cache de instruções preparado ao redefinir a conexão do pool de instruções
  • Limpar o manipulador de declaração preparada antes de reconectar.
  • As chamadas RPC para CallableStatements são executadas diretamente
  • Objeto de token de autenticação corrigido para aceitar expiração em milissegundos
  • SocketTimeout deve ser ilimitado por loginTimeout após uma conexão bem-sucedida aberta

Baixe o Microsoft JDBC Driver 12.6.2 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.2 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 12.6.1
Lançado: 20 de fevereiro de 2024

Problemas corrigidos na versão 12.6.1:

  • Sintaxe de escape 'EXEC' fixa para CallableStatements

Baixe o Microsoft JDBC Driver 12.6.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 12.6.0
Lançado: 31 de janeiro de 2024

Baixe o Microsoft JDBC Driver 12.6.0 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Novos recursos na versão 12.6

Funcionalidade Detalhes
Suporte a Java 21 O driver agora é compatível com o Java Development Kit (JDK) versão 21.0, além do JDK 17.0, 11.0 e 1.8.
Permitir a chamada de procedimentos armazenados diretamente através do uso de novas propriedades de conexão useFlexibleCallableStatements O driver agora chama diretamente os procedimentos armazenados, em vez de envolver o procedimento em torno de exec sp_executesql, o que simplifica o procedimento e melhora o desempenho.
Propriedade da cadeia de conexão useDefaultJaasConfig adicionada. Quando definido como true, permite a autenticação Kerberos sem configuração externa extra.
Propriedade de cadeia de conexão useDefaultGSSCredential adicionada Quando definido como true, permite que o driver crie GSSCredential em nome do usuário, ao usar o Native GSS-API para autenticação Kerberos.
Propriedade da cadeia de conexão calcBigDecimalPrecision adicionada Quando definido como true, permite que o driver calcule a precisão para entradas BigDecimal.
Adicionados novos registradores nomeados para retentativas de conexão aberta e reconexões de resiliência de conexão ociosa As tentativas de abertura de conexão usam a categoria de registo Redirecionamento e podem ser usadas no nível de registo FINE. As reconexões de resiliência para conexões ociosas usam a categoria de log de resiliência e podem ser usadas nos níveis de log FINE ou FINER.

Alterações em 12.6

Alteração Detalhes
Alterada a forma como o IBM JDK é verificado para evitar problemas com ambientes OSGi Alterado de verificar apenas o nome do fornecedor para verificar tanto o nome do fornecedor como o da máquina virtual.
Sincronizado corretamente todas as chamadas para MSAL Evita que o motorista faça chamadas extras e prove diálogos desnecessários.
Foram adicionados mais erros que devem ser traduzidos em RMFAIL Adicionados mais casos, "redefinição de conexão por par" e "conexão expirada", que devem equivaler a RMFAIL
Alterada a forma como os carimbos de data/hora são usados na cópia em massa Mude o comportamento de cópia em massa de serializar e desserializar objetos Timestamp para usar os objetos diretamente, resultando numa melhoria de desempenho quando um utilizador estiver a usar muitos Timestamps.
Mudou socketTimeout para garantir que é corretamente inferior a loginTimeout AnteriormentesocketTimeout agia independentemente de loginTimeout levando a um comportamento potencialmente confuso, onde o motorista levaria mais tempo para sair do que o esperado. Esse problema é corrigido para que socketTimeout sempre tenha um limite superior igual a loginTimeout.
Ajustou o cache do PreparedStatement para que ele se limpe antes de cada execução O cache do PreparedStatement não estava sendo limpo corretamente, o que, além de sua infrequência, poderia levar a problemas de memória ao longo do tempo. Essa alteração garante que o cache seja limpo antes de cada execução, evitando o acúmulo de objetos.
Atualizado para dependências mais recentes do Bouncycastle Atualize de bcprov-jdk15on e bcpkix-jdk15on para bcprov-jdk18on e bcpkix-jdk18on, pois o primeiro não está mais sendo atualizado.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, bouncycastle, h2e msal.

Correções na versão 12.6

Corrigir Detalhes
Corrigida uma verificação nula ausente para e.getCause() Correção para um problema em que, quando uma exceção não tem causa, a exceção em si é passada adiante, impedindo que ela seja perdida. Questão #2299 do GitHub.
Foram corrigidos bloqueios no IOBuffer para evitar problemas de deadlocks que poderiam ocorrer Implementação fixa de bloqueios no IOBuffer, especificamente em torno de disableSSL, para evitar impasses que poderiam surgir em determinadas situações. Problema #2288 do GitHub. Problema #2265 do GitHub.
Correção para um problema com carimbos de data/hora e cópia em massa para inserção em lote O fuso horário fixo não está sendo aplicado corretamente aos carimbos de data/hora quando inserido usando a inserção em lote com cópia em massa. Edição #2271 do GitHub.
Corrigidos getters e setters ausentes para useBulkCopyForBatchInsert Correção para um problema em que o comportamento não era o mesmo entre SQLServerConnection e SQLServerConnectionPoolProxy, quando deveria ser, devido à falta de um getter e um setter no useBulkCopyForBatchInsert. Problema #2245 do GitHub.
Consulta fixa de metadados de cópia em massa para usar dados armazenados em cache, se disponíveis Correção de um problema em que, apesar dos dados estarem armazenados em cache, as chamadas para metadados das colunas eram feitas a cada vez. Problema #2224 do GitHub.
Foi corrigida uma verificação ausente da escala do BigDecimal para os valores de TVP Correção para um problema em que, ao escrever valores de linha TVP, os valores de entrada não eram filtrados corretamente para a escala BigDecimal. Problema #2222 do GitHub.
Corrigiu-se o schemaPattern em SQLServerDatabaseMetadata para garantir que os métodos que utilizam o parâmetro o escapem corretamente. Correção para um problema em que schemaPattern era o único padrão que não estava sendo escapado corretamente em SQLServerDatabaseMetadata. Problema #2186 do GitHub.
Correção para um problema em que um SQLState nulo era retornado ao tentar converter uma data para um valor de tipo longo. Correção para um problema em que, quando xopenStates é definido como true, o driver não retorna o código de estado SQL-99 esperado em uma instância específica. Problema #2167 do GitHub.
Corrigido erro getMetaData para consultas contendo TOP Correção para um problema em que, ao usar o qualificador TOP em uma consulta, o driver retorna um erro sobre ParameterMetadata. Questão #1776 do GitHub.
Corrigido um problema de análise de nome de tabela ao usar inserções em lote Correção para um problema em que declarações de inserção com ausência de espaço em branco funcionavam corretamente em situações normais, mas não ao utilizar inserções em lote. Edição #1534 do GitHub.
Correção para um problema com ParameterMetadata e índices inválidos Correção de um problema com o ParameterMetadata que não verifica corretamente e lança exceções para um índice 0 inválido. Problema #1490 do GitHub.
Comportamento fixo de ActivityID em ActivityCorrelator Corrigido a forma como o ActivityID era definido e usado para estar mais alinhado com o comportamento de outros drivers da Microsoft.
Correção para ignorar colunas computadas ao usar cópia em massa de dados para inserção em lote Corrigido o comportamento de cópia em massa para ignorar colunas computadas e permitir inserções em lote, quando anteriormente a inserção falhava e retornava um erro citando essas colunas computadas.
Comportamento de driver corrigido em relação a assinaturas ao usar o Java Key Store e o Azure Key Vault Correção de um problema em que o driver não estava verificando corretamente a assinatura, ao usar o Java Key Store, e adicionando uma nova API para assinar metadados de chave mestra de coluna (e retornar a assinatura gerada) para uso com o Java Key Store e o Azure Key Vault
Corrige a conversão errônea de DateTimeOffset de getObject() Correção para um problema ao chamar ResultSet.getObject() em uma coluna DATETIMEOFFSET, com LocalDate/LocalTime/LocalDateTime como o argumento de classe, o valor na coluna seria convertido para o fuso horário local.

12.4

Baixar Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.4.2 para SQL Server (tar.gz)

Número da versão: 12.4.2
Lançado: 27 de outubro de 2023

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

12.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.4. GitHub, 12.4.0.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.4 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-12.4.0.jre11.jar do pacote 12.4 deve ser usado com Java 11 (ou superior).
Compatível com Java Development Kit (JDK) versão 20.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.4 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 20.0, além do JDK 17.0, 11.0 e 1.8.

12.4 Versões

Número da versão: 12.4.2
Lançado: 21 de setembro de 2023

Problemas corrigidos na versão 12.4.2:

  • Revertida a verificação IBM para verificação do fornecedor e adicionada uma verificação de nome de máquina virtual extra para remover falsos positivos

Baixar Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.4.2 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 12.4.1
Lançado: 24 de agosto de 2023

Alterações no ponto 12.4.1:

  • Os nomes de parâmetros SQL preparados agora têm espaçamento automático aplicado

Problemas corrigidos na versão 12.4.1:

  • Corrigida a consulta de metadados getUserName no contexto de segurança em personificação na base de dados do Azure SQL.
  • Correção da deteção do IBM JDK
  • Corrigido bug em que a assinatura não é verificada para Java Key Store e adiciona signColumnMasterkeyMetadata API a JKS e AKV
  • Adicionada a localização das cadeias de caracteres de erro que faltavam na versão original.

Baixe o Microsoft JDBC Driver 12.4.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.4.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 12.4.0
Lançado: 31 de julho de 2023

Baixe o Microsoft JDBC Driver 12.4.0 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.4.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Novos recursos na versão 12.4

Funcionalidade Detalhes
Suporte a Java 20 O driver agora é compatível com o Java Development Kit (JDK) versão 20.0, além do JDK 17.0, 11.0 e 1.8.
Adicionada propriedade de cadeia de conexão de retorno de chamada de token de acesso Complementa o callback do token de acesso implementado anteriormente, permitindo a passagem do nome da classe de implementação do callback na string de ligação.
Adicionado suporte para ActiveDirectoryServicePrincipalCertificate Melhoria na experiência do utilizador ao suportar ActiveDirectoryServicePrincipalCertificate da Biblioteca de Identidades do Azure através da opção de ligação authentication=ActiveDirectoryServicePrincipalCertificate.
Adicionado outro caso para XAER_RMFAIL O driver ainda estava retornando XAException com erro XAER_RMERR em alguns casos. Um caso extra foi adicionado ao tratamento de erros XA para resolver esse problema.

Alterações em 12.4

Alteração Detalhes
Lógica de autenticação federada atualizada para utilizar um cache persistente de tokens ao obter o token. Esta atualização melhora o desempenho em cenários de busca de token e permite mais facilmente a compatibilidade com versões futuras do MSAL.
Permitir que o parceiro de failover seja utilizado se houver um timeout de socket Permite uma tentativa de reconexão com um parceiro de failover fornecido após um tempo limite de conexão.
Melhor desempenho ao criar definições de tipo de parâmetro Ao pré-calcular tamanhos de matrizes e construtores de cadeias de caracteres usados em buildParamTypeDefinitions, e removendo alocações de cadeia de caracteres desnecessárias, melhore o desempenho onde esse método é usado.
O serverName enviado no pacote LOGIN foi alterado para incluir o instanceName. serverName agora é anexado ao final de instanceName em pacotes de LOGIN.
Método supportTransaction atualizado para refletir se o servidor suporta transações Resolve um problema em que connection.rollback não funcionava para a base de dados do Azure Synapse, uma vez que a Sinapse do Azure não suporta a sintaxe utilizada no supportTransaction.
Atualizar chamadas de sp_cursor para que os nomes das tabelas sejam passados em vez de uma cadeia de caracteres vazia Resolve um problema em que atualizações inconsistentes das linhas de ResultSet eram recebidas ao atualizar tabelas um-para-muitos.
Atualizou supportsLikeEscapeClause() para verificar o Azure Data Warehouse Resolve um problema em que supportsLikeEscapeClause estava a retornar true para AzureDW, apesar de não ser explicitamente suportado.
Atualizado para a especificação JDBC OSGi mais recente Atualize da osgi.compendium 5.0.0 para a osgi.service.jdbc 1.1.0 para manter a conformidade com a especificação OSGi JDBC 8.1.0.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, gson, h2e msal.

Correções na versão 12.4

Corrigir Detalhes
Corrigidos problemas de desempenho e memória presentes com o BigDecimal Reverte todas as alterações, desde a versão 12.2, em relação ao BigDecimal. Essa correção resolve os problemas de desempenho observados. Os usuários precisam ter cuidado ao usar o BigDecimal para evitar os problemas de truncamento que foram abordados anteriormente. Questão #2176 do GitHub.
Validação de certificado de servidor fixo para encrypt=strict Correção para garantir que o certificado do servidor seja validado corretamente nos casos em que encrypt está definido como strict. Questão #2174 do GitHub.
Bloqueio fixo que não entra em vigor quando o modo de redirecionamento é definido no Banco de Dados do Azure Corrigido quando lockTimeout é definido, pois só deve ser aplicado a conexões de fora do Azure, e não de dentro do Azure, como era anteriormente. Edição #2110 do GitHub.
Corrigida a elevada contagem de threads ao usar findSocketUsingThreading Corrige um problema em que uma exceção não detetada levava à interrupção das chamadas de suspensão a montante, fazendo com que novas tentativas acontecessem muito rapidamente. Problema #2104 do GitHub.
Condição de corrida do temporizador compartilhado fixo Corrigida uma possível condição de corrida na classe SharedTimer. Problema #2085 do GitHub.
Corrigido um erro com procedimentos armazenados e resultado zero metaQuery retorno Correção para um problema em que, se metaQuery não retornasse nenhum resultado após a execução de um procedimento armazenado, esse problema retornaria um erro indefinido de parâmetro. Problema #2063 do GitHub.
Corrigidas as inserções de lote inválidas quando a ordem das colunas fornecidas na inserção difere da do esquema da tabela. Correção para um problema em que o uso de useBulkCopyForBatchInsert=true pode levar à confusão de colunas e a dados inválidos. Problema #1992 do GitHub.
Corrigido o tratamento de erros XA para relançar XAER_RMFAIL em vez de XAER_RMERR Correção para um problema em que o driver retornaria XAException com o código de erro XAER_RMERR se houvesse failover do SQL Server do nó principal para o nó de espera ao confirmar uma transação XA. Problema #1432 do GitHub.
Correções no comportamento do ID de atividade e do ID do cliente para manter a consistência com a especificação JDBC O comportamento do ID da atividade foi corrigido para se manter constante durante toda a vida do processo, e sempre enviar o ID da atividade em PRELOGINe incrementar a sequência para cada nova conexão. A ID do cliente foi também corrigida para permanecer durante todo o processo.

12.2

Baixe o Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Download Microsoft JDBC Driver 12.2.0 para SQL Server (tar.gz)

Número da versão: 12.2.0
Lançado: 31 de janeiro de 2023

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

12.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.2. GitHub, 12.2.0.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-12.2.0.jre11.jar do pacote 12.2 deve ser usado com Java 11 (ou superior).
Compatível com Java Development Kit (JDK) versão 19.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 19.0, além do JDK 17.0, 11.0 e 1.8.

12.2 Lançamentos

Baixe o Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Download Microsoft JDBC Driver 12.2.0 para SQL Server (tar.gz)

Número da versão: 12.2.0
Lançado: 31 de janeiro de 2023

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Novos recursos na versão 12.2

Funcionalidade Detalhes
Suporte a Java 19 O driver agora é compatível com o Java Development Kit (JDK) versão 19.0, além do JDK 17.0, 11.0 e 1.8.
Adicionado suporte para callback de token de acesso Permite que o código do cliente registre um retorno de chamada em um DataSource que retorna um token de acesso.
Adicionado suporte para DefaultAzureCredential Melhoria da experiência do utilizador suportando DefaultAzureCredential e IntelliJCredential da Biblioteca de Identidades do Azure através da opção de ligação authentication=ActiveDirectoryDefault.
Adicionada uma nova propriedade de conexão datetimeParameterType para especificar o tipo de dados a ser usado para parâmetros de carimbo de data/hora Adicionada uma propriedade de conexão datetimeParameterType, que permite aos usuários especificar explicitamente conversões para datetime ou datetime2, proporcionando maior compatibilidade em bancos de dados mais antigos.

Alterações em 12.2

Alteração Detalhes
Tornou o driver compatível com o Loom Substitui synchronized(foo) por locks de reentrada para melhorar o desempenho ao utilizar o Loom.
A autenticação de Identidade Gerenciada usa a biblioteca de Identidades do Azure Substitui o código interno do driver para obter e armazenar em cache tokens de Managed Identity com a biblioteca Azure Identity. Essa alteração adiciona suporte de Identidade Gerenciada para mais serviços do Azure em relação ao que o driver suportava anteriormente.
Tornou o MSAL uma dependência opcional Tornou msal4j uma dependência opcional novamente.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, antlr4-runtime, bcprov-jdk15on, bcpkix-jdk15one msal.
Atualizar para verificar dinamicamente a classe ExtendedSocketOption Resolve um erro em que ExtendedSocketOptions faltante estava a devolver um NoClassDefFoundError.

Correções na versão 12.2

Corrigir Detalhes
Corrigido o estado nulo do SQL e o código de erro zero quando a exceção do banco de dados é lançada Correção para um problema em que, após o erro SQL, o estado do SQL e o código de erro mostraram informações incorretas. Problema #2015 do GitHub.
Recuperação de conexão ociosa fixa para que unprocessedResponseCount não seja diminuída demais unprocessedResponseCount somente deverá ser diminuído quando doneToken.isFinal for verdadeiro; estava sendo diminuído independentemente disso. Problema #1971 do GitHub.
Corrigida a conexão com o host SQLServer errado Corrige um problema de simultaneidade em que, quando um driver está se conectando a vários hosts SQLServer, uma conexão pode ser estabelecida com o host errado. Questão #1964 no GitHub.
Corrigido o erro updateCount A contagem de atualizações incorretas pode acontecer em casos verdadeiros/falsos para enablePrepareOnFirstPreparedStatementCall e para ambos prepexec/prepare. Problema #1961 do GitHub.
Corrigidos problemas de concorrência nos métodos de ofuscação de segurança para encriptação e desencriptação da palavra-passe do repositório de confiança. Adicionadas trancas para encriptar/desencriptar na ofuscação de senha no truststore. Problema #1939 do GitHub.
Corrigido o problema de invólucro do nome da conta de cache Corrige um problema em que os nomes das contas eram enviados para a Biblioteca de Autenticação da Microsoft com diferenciação de maiúsculas e minúsculas, levando a solicitações de logon repetidas. Questão #1923 do GitHub.
Corrigido bug de cancelamento de consulta Corrigido erro de cancelamento de consulta que ocorre de forma intermitente em consultas em lote. Problema #1896 do GitHub.
Corrigidos erros de declarações chamáveis Corrige erros na instrução SQL "índice fora dos limites" e "parâmetro não definido". Questão #1871 do GitHub.
Verificação fixa do token DONE ao buscar conjuntos de resultados Adiciona um caso perdido à correção anterior de DONE_ERROR, em que o driver ignorou o estado de DONE_ERROR do servidor, resultante de uma sessão terminada. Edição #1846 do GitHub. Problema #1505 do GitHub.
Certifique-se de que batchParamValues seja limpo em todos os casos ao executar um lote Resolve um problema em que os lotes não foram devidamente limpos em caso de falha ao utilizar a atualização em massa. Problema #1767 do GitHub.
Precisão fixa enviada ao usar o BigDecimal Corrige um problema em que, por padrão, os valores BigDecimal eram enviados com precisão máxima, o que poderia resultar em arredondamentos decimais indesejados. Questão #1489 do GitHub. Edição #942 do GitHub
Protocolo de atestado fixo NONE funcionar em todos os casos Corrigida a lógica por trás do protocolo de atestado NONE para funcionar em todos os casos, e não apenas em específicos.
Condição de corrida fixa em SecureStringUtil Corrigida uma condição de corrida em SecureStringUtil durante a criação de SecureStringUtil.

11.2

Baixe o Microsoft JDBC Driver 11.2.3 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 11.2.3 para SQL Server (tar.gz)

Número da versão: 11.2.3
Lançado: 12 de janeiro de 2023

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

11.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 11.2. GitHub, 11.2.0.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 11.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-11.20.jre17.jar do pacote 11.2 deve ser usado com o Java 17.
Compatível com Java Development Kit (JDK) versão 18.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 11.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 18.0, além do JDK 17.0, 11.0 e 1.8.

11.2 Versões

Número da versão: 11.2.3
Lançado: 12 de janeiro de 2023

Problemas corrigidos na versão 11.2.3:

  • Corrigido o estado nulo do SQL e o código de erro zero ao lançar uma exceção de banco de dados.
  • Corrigidos os valores das contagens de atualização incorretas quando o tempo limite ocorre em consultas em lote.
  • Corrigida a data de expiração incorreta do token ao usar o Azure Functions
  • Corrigida a conexão com o host SQLServer errado

Número da versão: 11.2.2
Lançado: 15 de dezembro de 2022

Problemas corrigidos na versão 11.2.2:

  • Corrigido bug de resiliência de conexão inativa
  • Limpar o cache do identificador de instruções preparadas na reconexão ociosa
  • Corrigido erro de índice fora dos limites na instrução chamável
  • Verificação fixa do token DONE ao buscar conjuntos de resultados
  • Erro intermitente corrigido: "Erro interno durante a desencriptação: Incompatibilidade de etiquetas!"

Baixe o Microsoft JDBC Driver 11.2.2 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 11.2.2 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 11.2.1
Lançamento: 8 de setembro de 2022

Problemas corrigidos na versão 11.2.1:

  • Tornado com.microsoft.azure:msal4j uma dependência opcional
  • Corrigido um bug de cancelamento de consulta que ocorria intermitentemente em consultas em lote

Baixe o Microsoft JDBC Driver 11.2.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 11.2.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 11.2.0
Lançado: 4 de agosto de 2022

Baixe o Microsoft JDBC Driver 11.2.0 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 11.2.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Novos recursos na versão 11.2

Funcionalidade Detalhes
Suporte a Java 18 O driver agora é compatível com o Java Development Kit (JDK) versão 18.0, além do JDK 17.0, 11.0 e 1.8.
Adicionado suporte a IPv6 configurável A preferência de endereço IP para o aplicativo cliente agora pode ser definida entre IPv4 e IPv6. Use a nova configuração de conexão ipaddresspreference para controlar o comportamento. Para obter mais informações, consulte Definindo as propriedades de conexão.
Adicionado suporte para preparar a seleção de métodos Adicionada nova propriedade da string de conexão prepareMethod que permite alternar entre o uso de sp_prepare e sp_prepexec. Use a nova configuração de conexão prepareMethod para controlar o comportamento. Para obter mais informações, consulte Definindo as propriedades de conexão.
Adicionada propriedade de conexão serverCertificate para encrypt=strict Adicionada uma propriedade serverCertificate que é o caminho para o arquivo de certificado do servidor (no formato PEM). Usado para validação quando a configuração de encrypt está definida para strict. Para obter mais informações, consulte Definindo as propriedades de conexão.
Chamadas de metadados de parâmetros de cache As informações relacionadas à criptografia para consultas parametrizadas agora podem ser armazenadas em cache. Consulte Usando sempre criptografado com o driver JDBC.
Adicionado suporte para inserção em massa de valores GUID nulos Resolve um problema em que a inserção de valores nulos não era possível no modo de inserção em massa.
Adicionado suporte para armazenamento em cache de tokens de identidade gerenciados Permite o armazenamento em cache de tokens obtidos de pontos de extremidade de identidade gerenciados.

Alterações no 11.2

Alteração Detalhes
Suporte para o TDS 8.0 adicionando a opção "strict" para criptografar a propriedade da conexão ALTERAÇÃO SIGNIFICATIVA A propriedade de conexão Encrypt passou a ser do tipo string.
Adicionada verificação para o ALPN negociado Verifica se Application-Layer Protocolo foi negociado com êxito.
Adicionada uma opção para enclaveAttestationProtocol Adicionada opção do protocolo NONE para que enclaves seguros possam ser utilizados sem atestado.
Permitir que serverName seja reordenado na cadeia de conexão Valide se o campo serverName da cadeia de conexão não tem um sinal de igual.
Adicionado melhor log de erros para biblioteca MSAL ausente Adicionada uma mensagem de erro quando o MSAL está ausente ao usar ActiveDirectoryServicePrincipal.
"Refatorado o tempo limite de resiliência da conexão inativa para usar o SharedTimer existente" Maior eficiência com a resiliência da conexão ociosa usando o SharedTimer existente.
Enviar TDS versão 8 no Login7 no modo estrito Foram adicionadas informações adicionais ao pacote Login7 ao incluir a versão 8 do TDS quando encrypt=strict.
Alterado o valor padrão de loginTimeout para 30s Alterado o valor padrão loginTimeout de 15 segundos para 30 segundos para permitir mais tempo para que as conexões iniciais sejam resolvidas antes do tempo limite.
A dependência msal4j é agora explícita. Adicionada uma dependência explícita para msal4j (era uma dependência transitiva em versões anteriores).
Dependências atualizadas Versões de dependência atualizadas para azure-identity e azure-security-keyvault-keys.

Correções na versão 11.2

Corrigir Detalhes
Erro corrigido causado por preparedMethod=prepare Corrigido erro intermitente de identificador nulo em instrução preparada causado por sp_prepare quando usado com consultas em lote GitHub Issue #1880.
Corrigido um erro em que o estabelecimento de várias conexões em paralelo pode gerar um IndexOutOfBoundsException Condição de corrida fixa com addressList, que pode resultar em IndexOutOfBoundsException ao estabelecer várias conexões GitHub Issue #1852.
Falha na asserção fixa que acontece ao cancelar a instrução "insert into" Correção para um problema em que o driver pode afirmar ao cancelar uma instrução GitHub Issue #1849.
Corrigida uma exceção que não era lançada como esperado quando a sessão é terminada no banco de dados SQL Adicionada verificação do token de status DONE_ERROR, que pode ocorrer de uma sessão morta no servidor GitHub Issue #1846.
Intervalo de repetição de identidade gerenciada Corrigido o intervalo de repetição da Identidade Gerenciada para recuar corretamente exponencialmente Problema #1765 do GitHub.
Removida uma chamada extra para executeCommand() dentro de connectionCommand() Removida uma chamada extra para executeCommand que estava causando problemas de desempenho para alguns usuários GitHub Issue #1669.
Corrigido erro de token desconhecido com selectMethod Corrigido erro de token desconhecido 0xA3 quando o cursor selectMethod é usado com classificação de dados.

10.2

Baixe o Microsoft JDBC Driver 10.2.3 para SQL Server (zip)
Download Microsoft JDBC Driver 10.2.3 para SQL Server (tar.gz)

Número da versão: 10.2.3
Lançado: 12 de janeiro de 2023

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 10.2.2
Lançado: 13 de dezembro de 2022

Baixe o Microsoft JDBC Driver 10.2.2 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 10.2.2 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Número da versão: 10.2.1
Lançamento: 12 de maio de 2022

Baixe o Microsoft JDBC Driver 10.2.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 10.2.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

10.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 10.2. GitHub, 10.2.0.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 10.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-10.20.jre17.jar do pacote 10.2 deve ser usado com o Java 17.
Compatível com Java Development Kit (JDK) versão 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 10.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 17.0, além do JDK 11.0 e 1.8.

10.2 Versões

Número da versão: 10.2.3
Lançado: 12 de janeiro de 2023

Problemas corrigidos na versão 10.2.3:

  • Corrigidas contagens de atualização incorretas em consultas em lote quando ocorre o tempo limite
  • Corrigida a data de expiração incorreta do token ao usar o Azure Functions
  • Corrigidos o estado nulo do SQL e o código de erro zero quando ocorre uma exceção no banco de dados.

Número da versão: 10.2.2
Lançado: 13 de dezembro de 2022

Problemas corrigidos na versão 10.2.2:

  • Limpar cache de instruções preparadas em reconexões de resiliência em conexões ociosas
  • Correção para definir as opções estendidas do KeepAlive
  • Corrigido o problema em que o motorista pode afirmar ao cancelar uma declaração
  • Corrigido erro de índice de instrução chamável fora dos limites
  • Corrigido o problema de não verificar erros de token DONE para que as exceções fossem ignoradas
  • Corrigido bug de cancelamento de consulta

Número da versão: 10.2.1
Lançamento: 12 de maio de 2022

Problemas corrigidos na versão 10.2.1:

  • Tempo limite de resiliência de conexão inativa alterado para utilizar o SharedTimer existente
  • Corrigido o intervalo de tentativas de autenticação da Identidade Gerida para retroceder corretamente de forma exponencial.
  • Chamada supérflua removida para executeCommand() dentro de connectionCommand()

Número da versão: 10.2.0
Lançado: 31 de janeiro de 2022

Baixe o Microsoft JDBC Driver 10.2.0 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 10.2.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Novos recursos na versão 10.2

Característica Detalhes
Suporte a Java 17 O driver agora é compatível com o Java Development Kit (JDK) versão 17.0, além do JDK 11.0 e 1.8.
Suporte à resiliência de conexão inativa Agora, a resiliência de conexão ociosa é suportada. Consulte Resiliência da Conexão Inativa.
Provedores de armazenamento de chaves multiusuário O driver agora oferece suporte a provedores de armazenamento de chaves no nível de conexão e instrução para oferecer suporte a cenários multiusuário. Veja Always Encrypted com o driver JDBC.

Alterações em 10.2

Alteração Detalhes
Definir encriptação como verdadeiro por padrão BREAKING CHANGE criptografia TLS está habilitada por padrão.
Validação do certificado quando a encriptação é falsa ALTERAÇÃO SIGNIFICATIVA Quando encrypt = false, mas o servidor requer criptografia, o certificado é validado com base na configuração de conexão trustServerCertificate.
aadSecurePrincipalId e aadSecurePrincipalSecret obsoletos As propriedades de conexão aadSecurePrincipalId e aadSecurePrincipalSecret foram preteridas. Em vez disso, use nome de usuário e senha.
API getAADSecretPrincipalId foi removida ALTERAÇÃO SIGNIFICATIVA A API getAADSecretPrincipalId foi removida por motivos de segurança.
Suporte SQL_Variant Adicionado suporte para SQL_Variant tipo de dados ao recuperar DateTimeOffset.
Aleatório não bloqueante no Linux Atualizado para usar uma chamada aleatória sem bloqueio ao gerar um GUID para pacotes de enclave.
Resolução CNAME para domínio Resolução CNAME adicionada quando realm é especificado.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, gsone bouncycastle.

Correções na versão 10.2

Corrigir Detalhes
O TDSParser está bloqueado no TDS_COLMETADATA Corrigido: TDSParser preso em TDS_COLMETADATA, o que poderia resultar num bloqueio para certas consultas. Edição #1661 do GitHub

9.4

Baixe o Microsoft JDBC Driver 9.4.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 9.4.1 para SQL Server (tar.gz)

Número da versão: 9.4.1
Lançado: 7 de dezembro de 2021

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

9.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 9.4. GitHub, 9.4.0.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 9.4 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-9.4.0.jre16.jar do pacote 9.4 deve ser usado com o Java 16.
Compatível com Java Development Kit (JDK) versão 16.0, 11.0 e 1.8. O Microsoft JDBC Driver 9.4 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 16.0, além do JDK 11.0 e 1.8.

9.4 Versões

Número da versão: 9.4.1
Lançado: 07 de dezembro de 2021

Problemas corrigidos na versão 9.4.1:

  • Corrigida uma possível falha quando o driver encontra TDS_COLMETADATA não suportado
  • Conversão fixa de LocalDateTime e LocalTime para String em cópia em massa

Número da versão: 9.4.0
Lançado: 30 de julho de 2021

Baixe o Microsoft JDBC Driver 9.4.0 para SQL Server (zip)
Download Microsoft JDBC Driver 9.4.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Novos recursos na versão 9.4

Funcionalidade Detalhes
Suporte a Java 16 O driver agora é compatível com o Java Development Kit (JDK) versão 16.0, além do JDK 11.0 e 1.8.
Suporte a conexões de replicação Agora há suporte para conexões de replicação. Veja Definindo as propriedades de conexão.
Domínio de autenticação de Kerberos personalizado O driver agora oferece suporte à especificação de um território de autenticação personalizado ao usar a autenticação Kerberos. Consulte Configuração das propriedades de conexão.
Abrir nova tentativa de conexão As propriedades de conexão connectRetryCount e connectRetryInterval são adicionadas para configurar novas tentativas automáticas ao abrir conexões. Consulte Definindo as propriedades de conexão para obter detalhes sobre essas novas propriedades.

Alterações na versão 9.4

Alteração Detalhes
Azure Key Vault Fornecedor Várias conexões sucessivas podem ser abertas para especificar diferentes informações do provedor do Azure Key Vault.
Mensagens de erro atualizadas As mensagens de erro relacionadas às exceções do Enclave agora incluem um link para um guia de solução de problemas.
As mensagens de erro relacionadas a falhas de autenticação do Ative Directory agora incluem a cadeia de caracteres de erro da biblioteca subjacente.
Versão do driver enviada ao servidor A versão do driver é agora enviada corretamente para o banco de dados durante PRELOGIN.
ID do processo do cliente O ID do processo do cliente agora é enviado para o servidor quando executado em Java 9+. O Java 8 mantém a funcionalidade anterior de enviar 0 para o ID do processo do cliente.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, gson, antlre bouncycastle.
Removidas referências desnecessárias Removidas as referências de classe específicas do Java 9 não utilizadas do jar do Java 8

Correções na versão 9.4

Corrigir Detalhes
Edição #1499 do GitHub Corrigido: O lote falha quando a opção de criptografia está sempre ativada na cadeia de conexão e clearParameters é chamado.
Edição #1632 do GitHub Corrigido: Pequeno vazamento de memória na nova conexão.
Edição #1565 do GitHub Correção para um problema em que trustStorePassword é nulo ao usar applicationIntent=ReadOnly
Edição #1568 do GitHub Correção para um problema em que o token redirecionado contém instância nomeada em servername
Edição #1531 do GitHub Corrigido estouro de número inteiro potencial em TDSWriter.writeString()

9.2

Baixe o Microsoft JDBC Driver 9.2.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 9.2.1 para SQL Server (tar.gz)

Número da versão: 9.2.1
Lançado: 02 de março de 2021

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

9.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 9.2. GitHub, 9.2.1.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 9.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-9.2.1.jre15.jar do pacote 9.2 deve ser usado com o Java 15.
Compatível com Java Development Kit (JDK) versão 15.0, 11.0 e 1.8. O Microsoft JDBC Driver 9.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 15.0, além do JDK 11.0 e 1.8.

9.2 Lançamentos

Número da versão: 9.2.1
Lançado: 02 de março de 2021

Problemas corrigidos na versão 9.2.1:

  • Correção para um problema com segredo do cliente vazio durante a autenticação do ActiveDirectoryServicePrincipal no ambiente Azure.

Número da versão: 9.2.0
Lançamento: 29 de janeiro de 2021

Baixe o Microsoft JDBC Driver 9.2.0 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 9.2.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Suporte para JDK 15

O Microsoft JDBC Driver 9.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 15.0, além do JDK 11.0 e 1.8.

Adicionado suporte para a Autenticação Interativa do Azure Ative Directory

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 9.2 para SQL Server agora oferece suporte à autenticação no Cofre da Chave do Azure por meio de autenticação interativa. Consulte Conectando-se usando a autenticação do Active Directory do Azure.

Adicionado suporte para a Autenticação Principal do Serviço Azure Ative Directory

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 9.2 para SQL Server agora oferece suporte à autenticação no Cofre de Chaves do Azure usando a ID do cliente e o segredo de uma identidade de entidade de serviço. Consulte Conectando-se usando a autenticação do Ative Directory do Azure.

Biblioteca do Azure Key Vault atualizada para utilizar a versão mais recente da biblioteca do Azure Key Vault.

Alterações na biblioteca do Azure Key Vault Detalhes
O Microsoft JDBC Driver 9.2 migrou da biblioteca do Azure Key Vault da geração anterior e das bibliotecas ADAL para os equivalentes mais modernos do Azure Key Vault e do Azure Identity. ALTERAÇÃO DE DEPENDÊNCIA Certifique-se de atualizar as suas dependências de aplicação se utilizar a autenticação do Azure Active Directory ou o Azure Key Vault. Consulte os requisitos de dependência quando trabalhar com o provedor do Azure Key Vault ou de autenticação do Azure Ative Directory

Ativado o uso de useBulkCopyForBatchInsert para servidores Synapse Analytics que não sejam do Azure.

useBulkCopyForBatchInsert alterações para servidores que não sejam do Azure Synapse Analytics Detalhes
O Microsoft JDBC Driver 9.2 agora permite a API de cópia em massa para operação de inserção em lote em servidores Synapse Analytics que não sejam do Azure. Consulte sobre como usar a API de cópia em massa para a operação de inserção em lote.

8.4

Baixe o Microsoft JDBC Driver 8.4 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 8.4 para SQL Server (tar.gz)

Número da versão: 8.4.1
Lançado: 27 de agosto de 2020

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

8.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 8.4. GitHub, 8.4.1.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 8.4 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-8.4.1.jre14.jar do pacote 8.4 deve ser usado com o Java 14.
Compatível com Java Development Kit (JDK) versão 14.0, 11.0 e 1.8. O Microsoft JDBC Driver 8.4 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 14.0, além do JDK 11.0 e 1.8.

8.4 Lançamentos

Número da versão: 8.4.1
Lançado: 27 de agosto de 2020
Problemas corrigidos:

  • Correção de um problema de incompatibilidade entre SQLServerConnectionPoolProxy e delayLoadingLobs
  • Corrigido um possível problema de NullPointerException com delayLoadingLobs
  • Correção para um problema com a descriptografia de chaves de criptografia de coluna ao usar o Repositório de Certificados do Windows

Número da versão: 8.4.0
Lançado: 31 de julho de 2020

Suporte para JDK 14

O Microsoft JDBC Driver 8.4 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 14.0, além do JDK 11.0 e 1.8.

Adicionado suporte para autenticação no Cofre da Chave do Azure usando a Identidade Gerenciada

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server agora oferece suporte à autenticação no Cofre da Chave do Azure usando a Identidade Gerenciada. Consulte Usando sempre criptografado com o driver JDBC.

Suporte estendido para cópia em massa para o Azure Data Warehouse

Modificações de cópia em massa no Azure Data Warehouse Detalhes
Microsoft JDBC Driver 8.4 adiciona uma nova propriedade de conexão, sendTemporalDataTypesAsStringForBulkCopy. Esta propriedade booleana é VERDADEIRA por padrão. Consulte Usando cópia em massa com o driver JDBC.

Adicionado suporte para cache de DNS SQL do Azure

Cache de DNS Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server agora oferece suporte ao cache de DNS no SQL Server em VMs do Azure.  

Adicionada compatibilidade com versões anteriores para streaming de objetos LOB

LOB Streaming Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server adicionou uma nova propriedade de conexão delayLoadingLobs. Definir delayLoadingLobs como FALSE faz com que todos os objetos LOB recuperados do ResultSet não sejam transmitidos. Essa configuração significa que o driver carrega todo o objeto LOB na memória de uma só vez, semelhante a como o driver estava funcionando antes do lançamento da versão 6.4.

Adicionado suporte para autenticação de certificado de cliente para cenários de loopback

Autenticação de certificado de cliente Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server adicionou um novo método de autenticação chamado autenticação de certificado de cliente para cenários de loopback. Consulte autenticação de certificado de cliente para cenários de loopback.

8.2

Baixe o Microsoft JDBC Driver 8.2 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 8.2 para SQL Server (tar.gz)

Número da versão: 8.2.2 Lançado: 24 de março de 2020

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo zip: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

8.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 8.2. GitHub, 8.2.2.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 8.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-8.2.2.jre11.jar do pacote 8.2 deve ser usado com o Java 11.
Compatível com Java Development Kit (JDK) versão 13.0, 11.0 e 1.8. O Microsoft JDBC Driver 8.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 13.0, além do JDK 11.0 e 1.8.

8.2 Lançamentos

Número da versão: 8.2.2
Lançado: 24 de março de 2020
Problemas corrigidos:

  • Foi adicionada uma opção para configurar a lista de endpoints confiáveis do Azure Key Vault

Número da versão: 8.2.1
Lançado: 26 de fevereiro de 2020
Problemas corrigidos:

  • Corrigido um possível problema de NullPointerException ao recuperar dados como tipo de java.time.LocalTime ou java.time.LocalDate com SQLServerResultSet.getObject()

Número da versão: 8.2.0
Lançado: 31 de janeiro de 2020

Suporte para JDK 13

O Microsoft JDBC Driver 8.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 13.0, além do JDK 11.0 e 1.8.

Sempre criptografado com enclaves seguros

Alteração sempre criptografada Detalhes
O Microsoft JDBC Driver 8.2 para SQL Server agora oferece suporte ao Always Encrypted com enclaves seguros. Os detalhes podem ser encontrados aqui: Sempre criptografado com enclaves seguros.
Mais detalhes e código de exemplo. Consulte Always Encrypted com enclaves seguros.

Melhoria de desempenho ao recuperar tipos de dados temporais do SQL Server 1

Alteração de tipos de dados temporais Detalhes
O Microsoft JDBC Driver 8.2 para SQL Server melhorou o desempenho ao recuperar tipos de dados temporais do SQL Server. Essa alteração elimina conversões de tipo de dados temporais desnecessárias, eliminando o uso de java.util.Calendar sempre que possível.
Essa melhoria de desempenho afeta a seguinte lista de tipos de dados temporais; no formato "SQL Server datatype" (mapeamento Java). date (java.sql.Date), datetime (java.sql.Timestamp), datetime2 (java.sql.Timestamp), smalldatetime (java.sql.Timestamp) e hora (java.sql.Time).

1 Devido às diferenças na forma como os fusos horários são tratados entre java.util.Calendar e java.time.LocalDateTime API, os tipos de dados temporais com um objeto java.util.Calendar fornecido pelo usuário associado a ele ou os tipos de dados microsoft.sql.DateTimeOffset não se beneficiam dessa melhoria.

Implantação do mssql-jdbc_auth-<versão>-<arquitetura>.dll (anteriormente sqljdbc_auth.dll) no repositório Maven

sqljdbc_auth.dll mudança Detalhes
A partir da versão 8.2 do Microsoft JDBC Driver para SQL Server, o driver depende do mssql-jdbc_auth-<versão>-<arch>.dll, em vez de sqljdbc_auth.dll, para usar o recurso de Autenticação do Azure Active Directory.  
A DLL é carregada no repositório Maven para facilitar o acesso. Veja esta página.

8.2 Problemas conhecidos

Problemas conhecidos Detalhes
Ao usar Always Encrypted com enclaves seguros com Java 8. Os usuários devem incluir o BouncyCastle Provider como uma dependência OU mapear/carregar um provedor de segurança, que suporta o algoritmo de assinatura RSASSA-PSS.

7.4.1

Baixe o Microsoft JDBC Driver 7.4.1 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 7.4.1 para SQL Server (tar.gz)

Número da versão: 7.4.1
Lançamento: 2 de agosto de 2019

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

7.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 7.4. GitHub, 7.4.1.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 7.4 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-7.4.1.jre11.jar do pacote 7.4 deve ser usado com o Java 11.
Compatível com Java Development Kit (JDK) versão 12.0, 11.0 e 1.8. O Microsoft JDBC Driver 7.4 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 12.0, além do JDK 11.0 e 1.8.

7.4 Lançamentos

Número da versão: 7.4.1
Lançamento: 2 de agosto de 2019
Problemas corrigidos:

  • Reverteu novas implementações da API de hashCode() e equals() para SQLServerDataTable e SQLServerDataColumn, já que a alteração da API quebrou a compatibilidade com versões anteriores

Número da versão: 7.4.0
Lançamento: 31 de julho de 2019

Suporte para JDK 12

O Microsoft JDBC Driver 7.4 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 12.0, além do JDK 11.0 e 1.8.

Apresenta a autenticação NTLM

Mudança de NTLM Detalhes
Suporta o modo de autenticação NTLM. Esse modo de autenticação permite que clientes Windows e não Windows se autentiquem no SQL Server usando usuários de domínio do Windows.
Mais detalhes e um aplicativo de exemplo para usar esse modo de autenticação. Consulte Conectando usando autenticação NTLM.

Apresenta a consulta de ParameterMetaData através de useFmtOnly

useFmtOnly alteração Detalhes
useFmtOnly propriedade de conexão adicionada. Esse recurso permite que os usuários consultem opcionalmente ParameterMetaData por meio da API herdada SET FMTONLY ON. Essa configuração é útil para cenários em que sp_describe_undeclared_parameters não tem o desempenho esperado.
Mais detalhes e limitações. Consulte Usando useFmtOnly

Atualizado SDK do Microsoft Azure Key Vault para Java, versão 1.2.1

Mudança no SDK do Cofre de Chaves Detalhes
Atualizada sua dependência do Maven em SDK do Cofre de Chaves do Microsoft Azure para Java para a versão 1.2.1.  
Remove o SDK do Microsoft Azure para WebKey do Cofre de Chaves como uma dependência do Maven.  
Mais detalhes. Consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

7.4 Problemas conhecidos

Problemas conhecidos Detalhes
Ao usar a autenticação NTLM. Atualmente, não há suporte para habilitar a Proteção Estendida e conexões criptografadas ao mesmo tempo.
Ao utilizar o useFmtOnly. Deficiências na lógica de análise SQL podem causar alguns problemas com o recurso. Para obter mais informações e sugestões de solução alternativa, consulte Usando useFmtOnly.

7.2.2

Baixe o Microsoft JDBC Driver 7.2.2 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 7.2.2 para SQL Server (tar.gz)

Número da versão: 7.2.2
Lançamento: 16 de abril de 2019

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

7.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 7.2. GitHub, 7.2.2.
Maven Central.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 7.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-7.2.2.jre11.jar do pacote 7.2 deve ser usado com o Java 11.
Compatível com Java Development Kit (JDK) versão 11.0, além do JDK 1.8. O Microsoft JDBC Driver 7.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 11.0, além do JDK 1.8.

7.2 Versões

Número da versão: 7.2.2
Lançamento: 16 de abril de 2019
Problemas corrigidos:

  • Corrigidos problemas com ActivityIDs que não eram limpos corretamente

Número da versão: 7.2.1
Lançamento: 11 de fevereiro de 2019
Problemas corrigidos:

  • Corrigidos problemas de análise com determinadas consultas parametrizadas

Número da versão: 7.2.0
Lançamento: 31 de janeiro de 2019

Autenticação do Ative Directory Managed Identity (MSI)

Alteração MSI Detalhes
Suporta o modo de autenticação MSI (Ative Directory Managed Identity). Esse modo de autenticação é aplicável nos Recursos do Azure com suporte para o recurso "Identidade" habilitado.

Ambos os tipos de Identidades Geridas (MSI) são suportados pelo driver para adquirir o accessToken e estabelecer uma ligação segura.
Mais detalhes e um aplicativo de exemplo para usar esse modo de autenticação. Consulte Conectando-se usando a Autenticação do Ative Directory do Azure.

Apresenta suporte ao Open Service Gateway Initiative (OSGi)

Alteração OSGi Detalhes
Adicionada a implementação de DataSourceFactory. org.osgi.service.jdbc.DataSourceFactory
com.microsoft.sqlserver.jdbc.osgi.SQLServerDataSourceFactory
Activator implementação adicionada. org.osgi.framework.BundleActivator
com.microsoft.sqlserver.jdbc.osgi.Activator

Apresenta SQLServerError APIs

Erro de alteração da API Detalhes
Introdução da API SQLServerError. APIs Getter para recuperar mais detalhes sobre os erros gerados pelo servidor.

SQLServerException.getSQLServerError()
SQLServerError
Mais detalhes. Consulte Tratamento de erros.

Atualizado Biblioteca de Autenticação do Active Directory do Microsoft Azure (ADAL4J) para Java, versão 1.6.3

Alteração ADAL4J Detalhes
Atualizou a dependência do Maven do ADAL4J para a versão 1.6.3.  
Apresenta Java Client Runtime for AutoRest como uma dependência do Maven, versão 1.6.5.  
Mais detalhes. Consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

Atualizado SDK do Microsoft Azure Key Vault para Java, versão 1.2.0

Alteração do SDK do Cofre de Chaves Detalhes
Atualizada sua dependência do Maven em SDK do Microsoft Azure Key Vault para Java para a versão 1.2.0.  
Apresenta SDK do Microsoft Azure para WebKey Vault como uma dependência do Maven, versão 1.2.0.  
Mais detalhes. Consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

7.2 Problemas conhecidos

Problemas conhecidos Detalhes
Consultas parametrizadas, em certos casos. Uma atualização da versão 7.2.0, v7.2.1, foi lançada em fevereiro de 2019 para resolver esse problema.
Limpeza de ActivityIds. Uma atualização da versão 7.2.1, v7.2.2, foi lançada em abril de 2019 para resolver esse problema.

7.0

Baixe o Microsoft JDBC Driver 7.0 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 7.0 para SQL Server (tar.gz)

Número da versão: 7.0.0
Lançamento: 31 de julho de 2018

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

O Microsoft JDBC Driver 7.0 para SQL Server é totalmente compatível com a Especificação 4.2 da API JDBC. Os jars no pacote 7.0 são nomeados de acordo com a compatibilidade da versão Java. Por exemplo, o arquivo mssql-jdbc-7.0.0.jre10.jar do pacote 7.0 deve ser usado com o Java 10.

Suporte para JDK 10

O Microsoft JDBC Driver 7.0 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 10.0, além do JDK 1.8. Esta atualização também expõe o Automatic-Module-Name do driver como com.microsoft.sqlserver.jdbc através de seu arquivo MANIFEST.

Suporte para tipos de dados espaciais

O Microsoft JDBC Driver 7.0 para SQL Server agora fornece suporte para tipos de dados espaciais do SQL Server Geografia e Geometria. Para obter mais informações sobre APIs de tipo de dados espaciais e como usá-las, consulte Usando tipos de dados espaciais.

A implementação para JDBC 4.3 introduziu as APIs java.sql.Connection beginRequest() e endRequest()

O Microsoft JDBC Driver 7.0 para SQL Server agora implementa APIs beginRequest() e endRequest() da classe java.sql.Connection. Essas APIs foram introduzidas com as especificações JDBC 4.3 e JDK 9. Para obter mais informações sobre a implementação dessas APIs pelo driver, consulte a conformidade com o JDBC 4.3 para odo JDBC Driver.

Suporte para Descoberta e Classificação de Dados SQL

O Microsoft JDBC Driver 7.0 para SQL Server fornece suporte para Descoberta e Classificação de Dados SQL com qualquer banco de dados de destino que ofereça suporte a esse recurso. O driver agora expõe SQLServerResultSet.getSensitivityClassification() APIs para extrair essas informações do ResultSetobtido.

Para obter mais informações sobre como usar esse recurso com o JDBC Driver, consulte o exemplo em SQL Data Discovery and Classification .

Propriedade de conexão adicionada: useBulkCopyForBatchInsert

O Microsoft JDBC Driver 7.0 para SQL Server introduz uma nova propriedade de conexão, useBulkCopyForBatchInsert. Esta propriedade é suportada apenas para o Azure Synapse Analytics.

Esta propriedade está desativada por padrão. Você pode habilitá-lo para aumentar o desempenho de aplicativos de usuário quando estiver enviando grandes quantidades de dados para o Azure Synapse Analytics. A habilitação dessa propriedade altera o comportamento das operações de inserção em lote para alternar para operações de cópia em massa com dados fornecidos pelo usuário. Para obter mais informações sobre essa propriedade e suas limitações, consulte Usando a API de cópia em massa para a operação de inserção em lote.

Propriedade de conexão adicionada: cancelQueryTimeout

O Microsoft JDBC Driver 7.0 para SQL Server introduz uma nova propriedade de conexão, cancelQueryTimeout, para cancelar queryTimeout em objetos java.sql.Connection e java.sql.Statement.

Construtores do Azure Key Vault Provider adicionados

Microsoft JDBC Driver 7.0 para SQL Server reintroduz um construtor removido anteriormente, para SQLServerColumnEncryptionAzureKeyVaultProvider. Ele permitia a autenticação através de um método personalizado implementado sobre o SQLServerKeyVaultAuthenticationCallback para obter um token de acesso.

Os novos construtores têm a seguinte definição:

/* This constructor is added to provide backward compatibility with 6.0
* version of the driver. It is marked deprecated for removal in the next
* stable release.
*/
@Deprecated
public SQLServerColumnEncryptionAzureKeyVaultProvider(
        SQLServerKeyVaultAuthenticationCallback authenticationCallback,
        ExecutorService executorService) throws SQLServerException;

/*New constructor to replace the above constructor*/
public SQLServerColumnEncryptionAzureKeyVaultProvider(
            SQLServerKeyVaultAuthenticationCallback authenticationCallback) throws SQLServerException;

Versão atualizada da "Biblioteca de Autenticação do Ative Directory do Microsoft Azure (ADAL4J) para Java": 1.6.0

O Microsoft JDBC Driver 7.0 para SQL Server atualizou a sua dependência do Maven no "Microsoft Azure Active Directory Authentication Library (ADAL4J) para Java" para a versão 1.6.0. Para obter mais informações sobre dependências, consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

6.4

Baixe o Microsoft JDBC Driver 6.4 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 6.4 para SQL Server (tar.gz)

Número da versão: 6.4.0
Lançamento: 27 de fevereiro de 2018

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

O Microsoft JDBC Driver 6.4 para SQL Server é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 6.4 são nomeados de acordo com a compatibilidade da versão Java. Por exemplo, o arquivo mssql-jdbc-6.4.0.jre8.jar do pacote 6.4 deve ser usado com o Java 8.

Suporte para JDK 9

O driver suporta JDK versão 9.0, além do JDK 8.0 e 7.0.

Conformidade com JDBC 4.3

O driver suporta a especificação Java Database Connectivity API 4.3, além de 4.1 e 4.2. Os métodos da API JDBC 4.3 foram adicionados, mas ainda não implementados. Para obter detalhes, consulte a conformidade do driver JDBC com o JDBC 4.3.

Propriedade de conexão adicionada: sslProtocol

Uma nova propriedade de conexão permite que os usuários especifiquem a palavra-chave do protocolo TLS. Os valores possíveis são: "TLS", "TLSv1", "TLSv1.1" e "TLSv1.2". Para obter detalhes, consulte SSLProtocol.

Propriedade de conexão descontinuada: fipsProvider

A propriedade de conexão fipsProvider é removida da lista de propriedades de conexão aceitas. Para obter detalhes, consulte o pedido de pull request no GitHub relacionado a.

Propriedades de conexão adicionadas para especificar um TrustManager personalizado

O driver agora suporta a especificação de um TrustManager personalizado com as propriedades de conexão trustManagerClass e trustManagerConstructorArg adicionadas. Você pode especificar dinamicamente um conjunto de certificados confiáveis por conexão sem modificar as configurações globais para o ambiente Java Virtual Machine (JVM).

Adicionado suporte para datetime/smallDatetime em parâmetros com valor de tabela

O driver agora suporta os tipos de dados datetime e smallDatetime quando você estiver usando parâmetros com valor de tabela (TVPs).

Adicionado suporte para o tipo de dados sql_variant

O JDBC Driver agora oferece suporte aos tipos de dados sql_variant para serem usados com o SQL Server. O tipo de dados sql_variant também é suportado com recursos como TVPs e cópia em massa com as seguintes limitações:

  • Para valores de data:

    Quando você estiver usando um TVP para preencher uma tabela que contém valores de datetime, smalldatetimeou date armazenados em uma coluna sql_variant, chamar o método getDateTime(), getSmallDateTime()ou getDate() no conjunto de resultados não funciona e lança a seguinte exceção:

    java java.lang.String cannot be cast to java.sql.Timestamp

    Como solução alternativa, use o método getString() ou getObject().

  • Usando um TVP com sql_variant para valores nulos:

    Se você estiver usando um TVP para preencher uma tabela e enviar um valor NULL para o tipo de coluna sql_variant, encontrará uma exceção. Atualmente, não há suporte para a inserção de um valor NULL com o tipo de coluna sql_variant em um TVP.

Implementado o cache de metadados de instrução preparada

O Driver JDBC implementou a cache de metadados de instruções preparadas para melhorar o desempenho. O driver agora suporta o armazenamento em cache dos metadados das instruções preparadas no próprio driver, com as propriedades de conexão disableStatementPooling e statementPoolingCacheSize. Este recurso está desativado por padrão. Para obter mais informações, consulte cache de metadados de instrução preparada para o driver JDBC.

Adicionado suporte para a Autenticação Integrada do Azure AD no Linux/macOS

O JDBC Driver agora oferece suporte à Autenticação Integrada do Azure Ative Directory (Azure AD) em todos os sistemas operacionais com suporte (Windows, Linux e macOS) com Kerberos. Como alternativa, em sistemas operacionais Windows, os usuários podem se autenticar com mssql-jdbc_auth-<versão>-<arch>.dll.

Versão atualizada da "Biblioteca de Autenticação do Ative Directory do Microsoft Azure (ADAL4J) para Java": 1.4.0

O JDBC Driver atualizou a sua dependência do Maven em "Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" para a versão 1.4.0. Para obter mais informações sobre dependências, consulte Dependências de características do Microsoft JDBC Driver para SQL Server.

6.2

Baixe o Microsoft JDBC Driver 6.2 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 6.2 para SQL Server (tar.gz)

Número da versão: 6.2.2
Lançado: 29 de setembro de 2017

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

O Microsoft JDBC Driver 6.2 para SQL Server é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 6.2 são nomeados de acordo com a compatibilidade da versão Java. Por exemplo, o arquivo mssql-jdbc-6.2.2.jre8.jar do pacote 6.2 é recomendado para uso com Java 8.

6.2 Lançamentos

Número da versão: 6.2.2
Lançamento: 3 de outubro de 2017
Problemas corrigidos:

  • Dependência do ADAL4J atualizada para a versão 1.2.0 e dependência do Azure Key Vault para a versão 1.0.0

Número da versão: 6.2.1
Lançamento: 14 de julho de 2017
Problemas corrigidos:

  • Correção de um problema ao executar consultas sem parâmetros usando preparedStatement

Número da versão: 6.2.0
Lançamento: 30 de junho de 2017

Observação

Um problema com a melhoria do cache de metadados foi encontrado no JDBC 6.2 RTW lançado em 29 de junho de 2017. A melhoria foi revertida e novos jars (versão 6.2.1) foram lançados em 17 de julho de 2017.

Outra melhoria atualizou a versão da biblioteca dependente do Azure Key Vault para 1.0.0 e novos jars (versão 6.2.2) foram lançados em 19 de outubro de 2017.

Faça o download das atualizações mais recentes para o JDBC Driver 6.2 através dos links acima, GitHubou Maven Central. Por favor, atualize seus projetos para usar os jars de versão 6.2.2. Para obter mais informações, consulte as notas de versão do 6.2.1 e 6.2.2.

Suporte do Azure AD para Linux

Conecte seus aplicativos Linux ao Banco de Dados SQL do Azure usando a autenticação do Azure AD por meio de métodos de nome de usuário/senha e token de acesso.

JVMs habilitadas para FIPS

O JDBC Driver agora pode ser usado em JVMs executadas no modo de conformidade do Federal Information Processing Standard (FIPS) 140 para atender aos padrões federais de conformidade.

Melhorias na autenticação Kerberos

O JDBC Driver agora tem suporte para:

  • Método principal/senha para aplicativos em que a configuração Kerberos não pode ser modificada ou não pode recuperar um novo token ou keytab. Esse método pode ser usado para autenticar em uma instância do SQL Server que permite apenas a autenticação Kerberos.
  • Autenticação entre regiões que usa a Autenticação Integrada Kerberos sem definir explicitamente o SPN do servidor. O driver agora calcula automaticamente o realme mesmo quando ele não é fornecido.
  • Delegação restrita de Kerberos ao aceitar credenciais de utilizador falsificadas enquanto um objeto de credencial GSS por meio da fonte de dados. Esta credencial falsificada é então usada para estabelecer uma conexão Kerberos.

Tempos limite adicionados

O JDBC Driver agora suporta os seguintes tempos limite configuráveis. Você pode alterá-los com base nas necessidades do seu aplicativo.

  • Query timeout serve para controlar o número de segundos a aguardar antes que ocorra um tempo de espera ao executar uma consulta.
  • Socket timeout para especificar o número de milissegundos a aguardar antes que ocorra um tempo limite numa leitura ou numa aceitação de soquete.

6.1

Número da versão: 6.1.0
Lançado: 17 de novembro de 2016

O Microsoft JDBC Driver 6.1 para SQL Server é totalmente compatível com as especificações JDBC 4.1 e 4.2. Esta versão é a versão inicial de código aberto do JDBC Driver. O código-fonte pode ser encontrado na tag GitHub v6.1.0. Ele constrói os arquivos mssql-jdbc-6.1.0.jre8.jar e mssql-jdbc-6.1.0.jre7.jar, que correspondem à compatibilidade da versão Java.

6.0

Baixe o Microsoft JDBC Driver 6.0 para SQL Server (exe de extração automática)
Baixar Microsoft JDBC Driver 6.0 para SQL Server (tar.gz)

Número da versão: 6.0.8112
Lançado: 17 de janeiro de 2017

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

O Microsoft JDBC Driver 6.0 para SQL Server é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 6.0 são nomeados de acordo com sua conformidade com a versão da API JDBC. Por exemplo, o arquivo sqljdbc42.jar do pacote 6.0 é compatível com JDBC API 4.2. Da mesma forma, o arquivo sqljdbc41.jar é compatível com JDBC API 4.1.

Para garantir que possui o ficheiro sqljdbc42.jar ou sqljdbc41.jar correto, execute as seguintes linhas de código. Se a saída for "Versão do driver: 6.0.7507.100", você tem o pacote JDBC Driver 6.0.

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Sempre criptografado

O driver oferece suporte ao recurso Always Encrypted no SQL Server 2016. Esse recurso garante que dados confidenciais nunca sejam vistos em texto sem formatação em uma instância do SQL Server. Always Encrypted funciona criptografando de forma transparente os dados no aplicativo, para que o SQL Server manipule apenas os dados criptografados e não valores de texto sem formatação. Mesmo que a instância do SQL Server ou a máquina host esteja comprometida, tudo o que um invasor pode obter é texto cifrado de dados confidenciais. Para obter detalhes, consulte Always Encrypted com o Driver JDBC.

Nomes de domínio internacionalizados

O driver suporta nomes de domínio internacionalizados (IDNs) para nomes de servidor. Para obter detalhes, consulte "Usando nomes de domínio internacionais" no artigo recursos internacionais do do JDBC Driver.

Consultas parametrizadas

O driver agora suporta a recuperação de metadados de parâmetros com instruções preparadas para consultas complexas, como subconsultas e/ou junções. Essa melhoria está disponível somente quando você estiver usando o SQL Server 2012 e versões mais recentes.

Azure Active Directory

A autenticação do Azure AD é um mecanismo de conexão com o Banco de Dados SQL do Azure usando identidades no Azure AD. Use a autenticação do Azure AD para gerenciar centralmente identidades de usuários de banco de dados e como uma alternativa à autenticação do SQL Server.

Você pode usar o JDBC Driver 6.0 para especificar suas credenciais do Azure AD na cadeia de conexão JDBC para se conectar ao Banco de Dados SQL do Azure. Para obter detalhes, consulte a propriedade de autenticação no artigo Definindo as propriedades de conexão.

Parâmetros com valor de tabela

Os TVPs fornecem uma maneira fácil de organizar várias linhas de dados de um aplicativo cliente para o SQL Server sem exigir várias viagens de ida e volta ou lógica especial do lado do servidor para processar os dados. Você pode usar TVPs para encapsular linhas de dados em um aplicativo cliente e enviar os dados para o servidor em um único comando parametrizado. As linhas de dados de entrada são armazenadas em uma variável de tabela na qual você pode operar usando Transact-SQL. Para obter detalhes, consulte Usando parâmetros com valor de tabela.

Grupos de Disponibilidade Always On

O driver agora suporta conexões transparentes para grupos de disponibilidade Always On. O driver descobre rapidamente a topologia Always On atual da sua infraestrutura de servidor e se conecta ao servidor ativo atual de forma transparente.

4.2

Baixe o Microsoft JDBC Driver 4.2 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 4.2 para SQL Server (tar.gz)

Número da versão: 4.2.8112
Lançado: 24 de agosto de 2015

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

O Microsoft JDBC Driver 4.2 para SQL Server é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 4.2 são nomeados de acordo com sua conformidade com a versão da API JDBC. Por exemplo, o arquivo sqljdbc42.jar do pacote 4.2 é compatível com JDBC API 4.2. Da mesma forma, o arquivo sqljdbc41.jar é compatível com JDBC API 4.1.

Para garantir que você tenha o sqljdbc42.jar ou sqljdbc41.jar arquivo correto, execute as seguintes linhas de código. Se a saída for "Versão do driver: 4.2.6420.100", você tem o pacote JDBC Driver 4.2.

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Suporte para JDK 8

O driver suporta JDK versão 8.0, além do JDK 7.0, 6.0 e 5.0.

Conformidade com JDBC 4.1 e 4.2

O driver suporta as especificações Java Database Connectivity API 4.1 e 4.2, além da 4.0. Para obter detalhes, consulte a conformidade com o JDBC 4.1 para o do JDBC Driver e a conformidade com o JDBC 4.2 para odo JDBC Driver.

Cópia em massa

Use o recurso de cópia em massa para copiar rapidamente grandes quantidades de dados em tabelas ou exibições em bancos de dados do SQL Server. Para obter detalhes, consulte Usando cópia em massa com o driver JDBC.

Opção de reversão de transação XA

O driver tem novas opções de tempo limite para a reversão automática existente de transações não preparadas. Para obter detalhes, consulte Noções básicas sobre transações XA.

Nova propriedade de conexão principal Kerberos

O driver utiliza uma nova propriedade de conexão para facilitar a flexibilidade com conexões Kerberos. Para obter detalhes, consulte Usando a autenticação integrada Kerberos para se conectar ao SQL Server.

4.1

Baixe o Microsoft JDBC Driver 4.1 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 4.1 para SQL Server (tar.gz)

Número da versão: 4.1.8112
Lançado: 12 de dezembro de 2014

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Suporte para JDK 7

O driver suporta JDK versão 7.0, além do JDK 6.0 e 5.0.

4.0

Baixe o Microsoft JDBC Driver 4.0 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 4.0 para SQL Server (tar.gz)

Número da versão: 4.0.2206
Lançado: 6 de março de 2012

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de extração automática: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol
Para o driver em um arquivo tar.gz: chinês (simplificado) | chinês (tradicional) | inglês (Estados Unidos) | francês | alemão | italiano | japonês | coreano | português (Brasil) | russo | espanhol

Itanium não suportado para aplicativos JDBC Driver

O Microsoft JDBC Driver para SQL Server não é suportado em computadores Itanium.

Ver também

Visão geral do driver JDBC