Perguntas frequentes sobre o JDBC Driver

Baixar o JDBC Driver

Esta página fornece respostas para as perguntas frequentes sobre o Microsoft JDBC Driver para SQL Server.

Perguntas frequentes

Como posso ajudar a melhorar o JDBC Driver?
O JDBC Driver é um software livre, e o código-fonte pode ser encontrado no GitHub. Você pode ajudar a melhorar o driver comunicando problemas e contribuindo com a base de código.

Quais versões do SQL Server e do Java são compatíveis com o driver?
Confira mais detalhes na página Matriz de suporte do Microsoft JDBC Driver para SQL Server.

Qual é a diferença entre os pacotes do JDBC Driver disponíveis na Página de Download da Microsoft e o JDBC Driver disponível no GitHub?
Os arquivos do JDBC Driver que estão disponíveis no repositório do GitHub para o Microsoft JDBC Driver são a essência do JDBC Driver e estão sob a licença de software livre, listada no repositório. Os pacotes de driver na Página de download da Microsoft incluem outras bibliotecas para autenticação integrada no Windows e para habilitar transações XA com o driver JDBC. Essas outras bibliotecas estão sob a licença incluída com o pacote que pode ser baixado.

O que devo saber para atualizar meu driver?
O Microsoft JDBC Driver 12.8 é compatível com as especificações do JDBC 4.2 e do JDBC 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação, conforme mostrado abaixo:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-12.8.0.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0 e superior
mssql-jdbc-12.8.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 12.6 é compatível com as especificações do JDBC 4.2 e do JDBC 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação, conforme mostrado abaixo:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-12.6.0.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0 e superior
mssql-jdbc-12.6.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 12.4 é compatível com as especificações do JDBC 4.2 e do JDBC 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação, conforme mostrado abaixo:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-12.4.0.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0 e posteriores
mssql-jdbc-12.4.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 12.2 é compatível com as especificações do JDBC 4.2 e do JDBC 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação, conforme mostrado abaixo:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-12.2.0.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0 e superior
mssql-jdbc-12.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 11.2 dá suporte às especificações JDBC 4.2 e JDBC 4.3 (parcialmente) e inclui quatro bibliotecas de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-11.2.0.jre18.jar JDBC 4.3 (parcialmente) e 4.2 JDK 18.0
mssql-jdbc-11.2.0.jre17.jar JDBC 4.3 (parcialmente) e 4.2 JDK 17.0
mssql-jdbc-11.2.0.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-11.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 10.2 é compatível com as especificações do JDBC 4.2 e 4.3 (de modo parcial) e inclui três bibliotecas de classe JAR no pacote de instalação, conforme mostrado abaixo:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-10.2.0.jre17.jar JDBC 4.3 (parcialmente) e 4.2 JDK 17.0
mssql-jdbc-10.2.0.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-10.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 9.4 é compatível com as especificações do JDBC 4.2 e 4.3 (de modo parcial) e inclui três bibliotecas de classe JAR no pacote de instalação, conforme mostrado abaixo:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-9.4.1.jre16.jar JDBC 4.3 (parcialmente) e 4.2 JDK 16.0
mssql-jdbc-9.4.1.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-9.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 9.2 é compatível com as especificações do JDBC 4.2 e 4.3 (de modo parcial) e inclui três bibliotecas de classe JAR no pacote de instalação, conforme mostrado abaixo:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-9.2.0.jre15.jar JDBC 4.3 (parcialmente) e 4.2 JDK 15.0
mssql-jdbc-9.2.0.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-9.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 8.4 é compatível com as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classe JAR no pacote de instalação da seguinte maneira:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-8.4.1.jre14.jar JDBC 4.3 (parcialmente) e 4.2 JDK 14.0
mssql-jdbc-8.4.1.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-8.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 8.2 é compatível com as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classe JAR no pacote de instalação da seguinte maneira:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-8.2.2.jre13.jar JDBC 4.3 (parcialmente) e 4.2 JDK 13.0
mssql-jdbc-8.2.2.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-8.2.2.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 7.4 dá suporte às especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-7.4.1.jre12.jar JDBC 4.3 (parcialmente) e 4.2 JDK 12.0
mssql-jdbc-7.4.1.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-7.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 7.2 dá suporte às especificações JDBC 4.2 e JDBC 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-7.2.2.jre11.jar JDBC 4.3 (parcialmente) e 4.2 JDK 11.0
mssql-jdbc-7.2.2.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 7.0 dá suporte às especificações JDBC 4.2 e JDBC 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-7.0.0.jre10.jar JDBC 4.3 (parcialmente) e 4.2 JDK 10.0
mssql-jdbc-7.0.0.jre8.jar JDBC 4.2 JDK 8.0
     

O Microsoft JDBC Driver 6.4 dá suporte às especificações JDBC 4.1, 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-6.4.0.jre9.jar JDBC 4.3 (parcialmente), 4.2 e 4.1 JDK 9.0
mssql-jdbc-6.4.0.jre8.jar JDBC 4.2 e 4.1 JDK 8.0
mssql-jdbc-6.4.0.jre7.jar JDBC 4.1 JDK 7.0
     

O Microsoft JDBC Driver 6.2 dá suporte às especificações JDBC 4.0, 4.1 e 4.2 e inclui duas bibliotecas de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
mssql-jdbc-6.2.2.jre8.jar JDBC 4.2, 4.1 e 4.0 JDK 8.0
mssql-jdbc-6.2.2.jre7.jar JDBC 4.1 e 4.0 JDK 7.0
     

O Microsoft JDBC Driver 6.0 e 4.2 para SQL Server dão suporte às especificações JDBC 4.0, 4.1 e 4.2 e incluem duas bibliotecas de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
sqljdbc42.jar JDBC 4.2, 4.1 e 4.0 JDK 8.0
sqljdbc41.jar JDBC 4.1 e 4.0 JDK 7.0
     

O Microsoft JDBC Driver 4.1 para SQL Server dá suporte à especificação JDBC 4.0 e inclui uma biblioteca de classes JAR no pacote de instalação, da seguinte forma:

JAR Especificação do JDBC Versão do JDK
sqljdbc41.jar JDBC 4.0 JDK 7.0 e 6.0
     

Eu preciso fazer alterações de código no meu aplicativo para usar o driver mais recente com a minha versão atual do SQL Server?
Normalmente, o driver é projetado para ter compatibilidade com versões anteriores para que você não precise alterar seus aplicativos existentes para atualizar o driver. Se uma nova versão do driver apresentar uma alteração interruptiva, a seção Notas sobre a versão do driver JDBC fornecerá detalhes claros sobre a alteração e o impacto dela nos aplicativos existentes. Além disso, você pode analisar as notas sobre a versão incluídas com o driver para obter uma lista de bugs corrigidos e de problemas conhecidos nessa versão.

Quanto custa o driver?
O Microsoft JDBC Driver para SQL Server está disponível sem custo adicional.

Posso redistribuir o driver?
Os JDBC Drivers 6.0 e mais recentes são redistribuíveis. Confira a cláusula sobre "Código Distribuível" nos contratos de licença de cada pacote.

Posso usar o driver para acessar o Microsoft SQL Server de um computador Linux?
Sim! Você pode usar o driver para acessar o SQL Server no Linux, Unix e outras plataformas não Windows. Para saber mais, confira a matriz de suporte do Microsoft JDBC Driver para SQL Server.

O driver dá suporte à criptografia TLS?
A partir da versão 1.2, o driver dá suporte à criptografia TLS, anteriormente conhecida como SSL. Para obter mais informações, confira Como usar a criptografia.

Quais tipos de autenticação são compatíveis com o Microsoft JDBC Driver para SQL Server?
A tabela a seguir lista as opções de autenticação disponíveis. Uma autenticação Kerberos em Java puro está disponível a partir da versão 4.0 do driver.

Plataforma Autenticação
Não Windows Kerberos Java puro
Não Windows SQL Server
Não Windows Autenticação do Azure Active Directory
Não Windows NTLM
Windows Kerberos Java puro
Windows SQL Server
Windows Kerberos com backup NTLM
Windows NTLM
Windows Autenticação do Azure Active Directory
   

O driver dá suporte a endereços IP versão 6 (IPv6)?
Sim. O driver dá suporte ao uso de endereços IPv6. Use a coleção de propriedades de conexão e a propriedade de cadeia de conexão serverName. Confira mais informações em Como construir a URL de conexão.

O que é o buffer adaptável?
O buffer adaptável foi introduzido a partir do JDBC Driver versão 1.2 para Microsoft SQL Server 2005. Ele é criado para recuperar qualquer tipo de dados de valor grande sem a sobrecarga de cursores de servidor. O recurso de buffer adaptável do Microsoft SQL Server JDBC Driver oferece uma propriedade de cadeia de caracteres de conexão, responseBuffering, que pode ser definida como "adaptive" ou "full". Na versão 1.2, o modo de buffer é "cheio" por padrão e o aplicativo deve configurar o modo de buffer adaptável explicitamente. A partir do driver JDBC versão 2.0, o comportamento padrão do driver é "adaptive". Além disso, o aplicativo não precisa solicitar o comportamento adaptável explicitamente para obter o comportamento de buffer adaptável. Para obter mais informações, confira Usando um buffer adaptável e o blog What is adaptive response buffering and why should I use it? (O que é o buffer de resposta adaptável e por que devo usá-lo?).

O driver dá suporte ao pool de conexões?
O driver dá suporte ao pool de conexões da Plataforma Java, Edição Enterprise 5 (Java EE 5). O driver JDBC implementa as interfaces do JDBC 3.0 necessárias para permitir que o driver participe de qualquer implementação de pool de conexões disponibilizada pelos fornecedores de servidores de aplicativos em middleware. O driver participa das conexões em pool nesses ambientes. Confira mais informações em Como usar o pool de conexões. O driver não fornece a própria implementação do pool. Em vez disso, ele usa servidores de aplicativos Java de terceiros.

O driver tem suporte disponível?
Há diversas opções de suporte disponíveis. Você pode postar sua dúvida ou problema no repositório do GitHub que é monitorado pela Microsoft. Os fóruns são monitorados pela Microsoft, MVPs e pela comunidade. Você também pode entrar em contato com o Atendimento ao Cliente da Microsoft. A equipe de desenvolvimento pode pedir que você reproduza o problema fora de qualquer servidor de aplicativos de terceiros. Se o problema não puder ser reproduzido fora do ambiente de hospedagem do contêiner Java, será preciso acionar os terceiros envolvidos para que a equipe possa continuar a ajudar você. A equipe também poderá pedir que você reproduza o problema em um sistema operacional como o Windows para que seja possível oferecer o melhor suporte.

O driver é certificado para uso com qualquer servidor de aplicativos de terceiros?
O driver foi testado com todos os principais servidores de aplicativos, inclusive IBM WebSphere e SAP NetWeaver.

Como habilitar o rastreamento?
O driver dá suporte ao uso de rastreamento (ou registro em log) para ajudar a resolver problemas com o JDBC Driver usado no seu aplicativo. Para habilitar o uso de rastreamento do JAR do lado do cliente, o driver JDBC usa as APIs de registro em log em java.util.logging. Para obter mais informações, veja Rastreamento de operação do driver. Para o rastreamento XA do lado do servidor, consulte Rastreamento do acesso a dados no SQL Server.

Onde posso baixar as versões mais antigas do driver, como o driver SQL Server 2000 JDBC driver, o driver 2005 e o driver 1.0, 1.1 ou 1.2?
Essas versões de driver não estão disponíveis para download, pois não têm mais suporte. Estamos aprimorando o suporte à conectividade Java de modo contínuo. Portanto, é altamente recomendável que você trabalhe com a versão mais recente do Microsoft JDBC driver.

Estou usando JRE 1.4. Qual driver é compatível com o JRE 1.4?
Os clientes que estão usando produtos SAP e precisam do suporte ao JRE 1.4 podem entrar em contato com o SAP Service Marketplace para obter o Microsoft JDBC Driver 1.2.

O driver pode se comunicar usando algoritmos validados pelos FIPS?
O Microsoft JDBC Driver não contém nenhum algoritmo de criptografia. Se o cliente usar o sistema operacional, os aplicativos e os algoritmos JVM considerados aceitáveis de acordo com os FIPS (Federal Information Processing Standards) e configurar o driver para usar esses algoritmos, o driver usará somente os algoritmos designados para comunicação. Para saber mais, confira Modo FIPS.

Confira também