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.10

Número de lançamento: 12.10.0
Lançado: 07 de março de 2025

Baixe o Microsoft JDBC Driver 12.10.0 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.10.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.10

Funcionalidade Detalhes
Suporte a Java 23 O driver agora é compatível com o Java Development Kit (JDK) versão 23.0, além do JDK 21.0, 17.0, 11.0 e 1.8.
Adicionada uma provisão para definir opções SQLServerBulkCopy em PreparedStatement Para definir SQLServerBulkCopyOptions em PreparedStatement ao usar useBulkCopyForBatchInsert=true, novas opções de cadeia de conexão e um método de API setBulkCopyOptions foram introduzidos.
Adicionada a funcionalidade de lógica de repetição configurável, suportando a repetição de instruções e de conexão. Adicionada lógica de repetição configurável para instruções SQL, permitindo que as regras sejam definidas na cadeia de conexão ou no arquivo mssql-jdbc.properties. As regras especificam os erros a serem repetidos, o número de tentativas e o tempo entre as tentativas. A lógica de repetição garante que as novas tentativas só ocorram quando as condições especificadas forem atendidas, como códigos de erro e consultas correspondentes.

Alterações em 12.10

Alteração Detalhes
Verificar se é nulo ao obter valores DTV Foi adicionada uma verificação para um valor null em um DTVImpl antes de chamar DTVImpl::getValue. Esta verificação revelou ganhos de desempenho nos índices de referência internos. Essa correção altera o comportamento de getBinaryStream e getAsciiStream em ResultSet para que sejam compatíveis com as especificações da API JDBC. Retorna: um fluxo de entrada Java que entrega o valor da coluna do banco de dados como um fluxo de caracteres ASCII de um byte; se o valor for SQL NULL, o valor retornado será "null".
Adicionado com.ibm.security.auth.module e com.sun.security.auth.module como opção de importação Defina resolution=optional para essas importações OSGi para evitar falhas de implantação causadas por importações obrigatórias.
Revertida a funcionalidade "Executar Procedimentos Armazenados Diretamente", bem como alterações subsequentes relacionadas com a funcionalidade Reverteu o recurso devido a problemas e regressões introduzidos por essas alterações.
Registo MSAL alterado de FINEST para FINER Esta alteração é feita para reduzir a verbosidade dos logs e, ao mesmo tempo, fornecer detalhes suficientes para a resolução de problemas de autenticação.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, bouncycastlee juint.

Correções na versão 12.10

Corrigir Detalhes
Foi corrigido um NullPointerException quando uma operação de cópia em lote é executada numa coluna calculada. Corrigido um NullPointerException quando uma operação de cópia em massa é executada em uma coluna computada iterando sobre o conjunto de chaves em um mapa. Problema #2606 do GitHub.
Corrigida a resolução do módulo de login para opcional Corrigido o problema em que o manifesto do JAR continha uma declaração de importação não opcional em com.ibm.security.auth.module e com.sun.security.auth.module, que deveria ser declarada com resolution:=optional. Problema #2608 do GitHub.
Corrigido o âmbito de aplicação do BULK_COPY_OPERATION_CACHE Corrigido um problema em que BULK_COPY_OPERATION_CACHE era definido em um escopo global em vez do escopo da conexão, que causava acertos de cache incorretos entre conexões e possíveis problemas de falta de memória. Edição #2585 do GitHub.
Corrigido o problema com o método de verificação do isIBM para usar o módulo de login correto Corrigido o método generateDefaultConfiguration para verificar dinamicamente a presença do com.sun.security.auth.module.Krb5LoginModule e utilizá-lo se disponível; caso contrário, recorra ao com.ibm.security.auth.module.Krb5LoginModule. Edição #2576 do GitHub.
Corrigido o problema com SQLServerBulkCopy de CSV com setEscapeColumnDelimiters definido como true Corrigida uma regressão de 12.8.1 em que o método readLineEscapeDelimiters em SQLServerBulkCSVFileRecord não manipulava o caso de um arquivo CSV não ter um caractere de nova linha no final da última linha. Problema #2573 do GitHub.
Conversão OffsetDateTime fixa para datas pré-gregorianas Corrigida a conversão de DateTimeOffset para OffsetDateTime com a utilização da classe Calendar, para lidar com datas pré-gregorianas. Problema #2565 do GitHub.
Corrigida a funcionalidade getGeneratedKeys para a API de execução Corrigida a funcionalidade getGeneratedKeys para a API de execução relatar corretamente a contagem de atualizações e os conjuntos de resultados subsequentes. Problema #2550 do GitHub.
Corrigido um problema em que SQLServerConnection podia entrar em um loop infinito Corrigimos um ciclo infinito no SQLServerConnection, garantindo que todas as instruções em openStatements sejam fechadas e removidas explicitamente, e tornamos bIsClosed e openStatements voláteis. Problema #2537 do GitHub.
Remoção corrigida de pontos de interrogação de rótulos de colunas (aliases) Correção para melhorar o tratamento de erros no método buildExecuteMetaData para gerenciar melhor SQLServerException, assegurando que os rótulos de coluna (aliases) com pontos de interrogação sejam processados corretamente. Edição #2535 do GitHub.
Corrigido o mecanismo de autenticação Kerberos para fornecer compatibilidade com Java 17 e superior A correção aborda a obsolescência do método Subject.getSubject() recorrendo à API de substituição quando uma exceção de obsolescência é lançada. Questão #2524 do GitHub.

Versões anteriores

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:

  • Alteração do MSAL logging 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 metadados da coluna de destino na transferência 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).
Adicionou-se um manipulador de mensagens do SQL Server e suporte para encadeamento de 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 Socket 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.
Adicionou-se logging ao armazenamento de token em cache 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 Object gené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 declaração preparada antes da reconexão. Isso resolve um problema em que as alças erradas eram usadas em um SQLServerPreparedStatement após a reconexão, limpando corretamente SQLServerPreparedStatement.prepStmtHandle antes de reestabelecer a conexão. 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 agrupamento de instruções ativado, a reutilização de uma conexão de um ConnectionPool resultava em falta de entradas ou em entradas 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 #2232 do GitHub. 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 tópico.
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.

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 Lançamentos

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 ela.

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 preparadas 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 não deve ser limitado por loginTimeout após a abertura de uma conexão bem-sucedida

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 da 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 registadores nomeados para tentativas de abertura de conexão e reconexões de resiliência de ligações inativas. 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 as dependências de Bouncycastle mais recentes 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 a exceção 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 Lançamentos

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

Problemas corrigidos na versão 12.4.2:

  • Reverteu-se a verificação de IBM para a do fornecedor e adicionou-se uma verificação adicional de nome de máquina virtual para eliminar 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.
Propriedade de string de conexão de retorno de chamada de token de acesso adicionada 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 ao remover alocações de cadeias de caracteres desnecessárias, melhore o desempenho onde este método é utilizado.
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
Foram corrigidos problemas de desempenho e memória associados ao 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 sono em processos anteriores, fazendo com que as repetições ocorressem demasiado 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 os procedimentos armazenados e o retorno de resultado zero metaQuery. 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 capitalização 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 quando a exceção do banco de dados é lançada
  • 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 descritor de instruções preparadas durante a 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.
Para encrypt=strict, foi adicionada a propriedade de conexão serverCertificate. 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 Utilizar Always Encrypted 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 o Protocolo de Camada de Aplicação foi negociado com êxito.
Adicionada uma opção para o "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 Certifique-se de que o campo serverName da cadeia de conexão não tenha um sinal de igual.
Adicionado melhor log de erros para biblioteca MSAL ausente Foi adicionada uma mensagem de erro quando o MSAL está ausente durante o uso de 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.
Correção das falhas de asserção que ocorrem ao cancelar a instrução "insert into" Correção para um problema em que o driver pode realizar uma asserção ao cancelar uma declaraçã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 Lançamentos

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

Problemas corrigidos na versão 10.2.3:

  • 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
  • Corrigido o estado SQL nulo e o código de erro zero quando ocorre uma exceção de base 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 fora dos limites na instrução chamável
  • 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

Funcionalidade 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 Key Store ao nível de conexão e instrução para suportar cenários de múltiplos utilizadores. Consulte Usando sempre criptografado 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.
O suporte a SQL_Variant Adicionado suporte para o tipo de dados SQL_Variant 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 A resolução CNAME foi adicionada quando o 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. Veja Definindo as 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 Active 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 autenticação do Azure Active 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 desencriptação de chaves de criptografia de coluna ao usar o Armazenamento 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 Utilizar Always Encrypted 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 Utilizar 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), datahora (java.sql.Timestamp), datahora2 (java.sql.Timestamp), datahora pequena (java.sql.Timestamp) e tempo (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 alteração 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 utilizar o Always Encrypted com Java 8 em enclaves seguros. 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
Atualizou a 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 IDs de Atividade 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 parsing 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. Veja Ligar-se usando a Autenticação do Active 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
Implementação de Activator 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

Mudança no SDK do Cofre de Chaves Detalhes
Atualizou a 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 Key Vault WebKey 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 do 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 recursos 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 novas versões de jars (versão 6.2.1) foram lançadas 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 sobre 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 do JDBC Driver com o JDBC 4.1 e a conformidade do JDBC Driver com o JDBC 4.2.

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 Utilização da cópia em massa com o driver JDBC.

Opção de anulaçã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