Esta página fornece respostas para perguntas frequentes sobre o Microsoft JDBC Driver para SQL Server.
Perguntas frequentes
Como posso ajudar a melhorar o driver JDBC?
O JDBC Driver é de código aberto e o código-fonte pode ser encontrado em GitHub. Você pode ajudar a melhorar o driver preenchendo problemas e contribuindo para a base de código.
Quais versões do SQL Server e Java são suportadas pelo driver?
Consulte a página matriz de suporte do Microsoft JDBC Driver for SQL Server para obter detalhes.
Qual é a diferença entre os pacotes de driver JDBC disponíveis na página de download do Microsoft e o driver JDBC disponível no GitHub?
Os arquivos do driver JDBC disponíveis no repositório GitHub para o driver JDBC da Microsoft são o núcleo do driver JDBC e estão sob a licença de código aberto listada no repositório. Os pacotes de driver na página de download do Microsoft incluir outras bibliotecas para autenticação integrada ao Windows e habilitar transações XA com o driver JDBC. Essas outras bibliotecas estão sob a licença incluída com o pacote para download.
O que devo saber para atualizar meu driver?
O Microsoft JDBC Driver 12.10 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão JDK |
|---|---|---|
| mssql-jdbc-12.10.0.jre11.jar | JDBC 4.3 (parcialmente) e 4.2 | JDK 11.0+ |
| mssql-jdbc-12.10.0.jre8.jar | JDBC 4.2 | JDK 8,0 |
O Microsoft JDBC Driver 12.8 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão JDK |
|---|---|---|
| mssql-jdbc-12.8.0.jre11.jar | JDBC 4.3 (parcialmente) e 4.2 | JDK 11.0+ |
| mssql-jdbc-12.8.0.jre8.jar | JDBC 4.2 | JDK 8,0 |
O Microsoft JDBC Driver 12.6 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão JDK |
|---|---|---|
| mssql-jdbc-12.6.0.jre11.jar | JDBC 4.3 (parcialmente) e 4.2 | JDK 11.0+ |
| mssql-jdbc-12.6.0.jre8.jar | JDBC 4.2 | JDK 8,0 |
O Microsoft JDBC Driver 12.4 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão JDK |
|---|---|---|
| mssql-jdbc-12.4.0.jre11.jar | JDBC 4.3 (parcialmente) e 4.2 | JDK 11.0+ |
| mssql-jdbc-12.4.0.jre8.jar | JDBC 4.2 | JDK 8,0 |
O Microsoft JDBC Driver 12.2 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão JDK |
|---|---|---|
| mssql-jdbc-12.2.0.jre11.jar | JDBC 4.3 (parcialmente) e 4.2 | JDK 11.0+ |
| mssql-jdbc-12.2.0.jre8.jar | JDBC 4.2 | JDK 8,0 |
O Microsoft JDBC Driver 11.2 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui quatro bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui três bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.2 e 4.3 (parcialmente) e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta as 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 maneira:
| JAR | Especificação JDBC | Versão 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 suporta as especificações JDBC 4.0, 4.1 e 4.2 e inclui duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 |
Os Microsoft JDBC Drivers 6.0 e 4.2 para SQL Server suportam as especificações JDBC 4.0, 4.1 e 4.2 e incluem duas bibliotecas de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão 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 suporta a especificação JDBC 4.0 e inclui uma biblioteca de classes JAR no pacote de instalação da seguinte maneira:
| JAR | Especificação JDBC | Versão JDK |
|---|---|---|
| sqljdbc41.jar | JDBC 4.0 | JDK 7.0 e 6.0 |
Preciso de alterações de código no meu aplicativo para usar o driver mais recente com minha versão existente do SQL Server?
Em geral, o driver é projetado para ser compatível 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 introduzir uma alteração significativa, a seção Notas de versão para a do driver JDBC fornecerá detalhes claros sobre a alteração e o impacto nos aplicativos existentes. Além disso, você pode revisar as notas de versão incluídas com o driver para obter uma lista de bugs corrigidos e problemas conhecidos nessa versão.
Quanto custa o motorista?
O Microsoft JDBC Driver para SQL Server está disponível gratuitamente.
Posso redistribuir o driver?
Os drivers JDBC 6.0 e superiores são redistribuíveis. Analise a cláusula "Código Distribuível" nos contratos de licença incluídos em cada pacote.
Posso usar o driver para acessar o Microsoft SQL Server a partir de um computador Linux?
Sim! Você pode usar o driver para acessar o SQL Server a partir de Linux, Unix e outras plataformas não-Windows. Para obter mais informações, consulte Microsoft JDBC Driver for SQL Server Support Matrix.
O driver suporta criptografia TLS?
A partir da versão 1.2, o driver suporta criptografia Transport Layer Security (TLS), anteriormente conhecida como Secure Sockets Layer (SSL). Para obter mais informações, consulte Usando criptografia.
Quais tipos de autenticação são suportados pelo Microsoft JDBC Driver for SQL Server?
A tabela abaixo lista as opções de autenticação disponíveis. Uma autenticação Kerberos Java pura está disponível a partir da versão 4.0 do driver.
| Plataforma | Autenticação |
|---|---|
| Não-Windows | Kerberos Java puro |
| Não-Windows | Servidor SQL |
| Não-Windows | Autenticação do Azure Ative Directory |
| Não-Windows | NTLM |
| Mac OS | Kerberos Java puro |
| Mac OS | Servidor SQL |
| Mac OS | Kerberos com backup NTLM |
| Mac OS | NTLM |
| Mac OS | Autenticação do Azure Ative Directory |
O driver suporta endereços IPv6 (Internet Protocol version 6)?
Sim. O driver suporta o uso de endereços IPv6. Use a coleção de propriedades de conexão e a propriedade de cadeia de conexão serverName. Para obter mais informações, consulte Criando a URL de conexão.
O que é buffer adaptativo?
O buffer adaptável é introduzido a partir do Microsoft SQL Server 2005 JDBC Driver versão 1.2. Ele foi projetado para recuperar qualquer tipo de dados de grande valor sem a sobrecarga de cursores do servidor. O recurso de buffer adaptável do Microsoft SQL Server JDBC Driver fornece uma propriedade de cadeia 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 definir o modo de buffer adaptável explicitamente. A partir do JDBC Driver versão 2.0, o comportamento padrão do driver é "adaptativo". Assim, seu aplicativo não precisa solicitar o comportamento adaptável explicitamente para obter o comportamento de buffer adaptável. Para obter mais informações, consulte Usando o Adaptive Buffering e o blog O que é o buffer de resposta adaptável e por que devo usá-lo?.
O driver suporta pool de conexões?
O driver fornece suporte para o pool de conexões Java Platform, Enterprise Edition 5 (Java EE 5). O driver implementa as interfaces necessárias do JDBC 3.0 para permitir que o driver participe de qualquer implementação de pool de conexões fornecida por fornecedores de servidores de aplicativos de middleware. O motorista participa de conexões agrupadas nesses ambientes. Para obter mais informações, consulte Usando o pool de conexões. O driver não fornece sua própria implementação de pooling, mas depende de servidores de aplicativos Java de terceiros.
Existe suporte disponível para o motorista?
Várias opções de suporte estão disponíveis. Você pode postar sua pergunta ou problema no repositório GitHub, que é monitorado pela Microsoft.
Fóruns são monitorados pela Microsoft, MVPs e pela comunidade. Também pode contactar o Suporte ao Cliente da Microsoft. A equipe de desenvolvimento pode solicitar que você reproduza o problema fora de quaisquer servidores de aplicativos de terceiros. Se o problema não puder ser reproduzido fora do ambiente de contêiner Java de hospedagem, você precisará envolver o terceiro relacionado para que a equipe possa continuar a ajudá-lo. A equipa também pode pedir-lhe para reproduzir o seu problema num sistema operativo como o Windows para que o problema possa ser suportado da melhor forma.
O driver é certificado para uso com servidores de aplicativos de terceiros?
O driver foi testado em vários servidores de aplicativos, incluindo IBM WebSphere e SAP Netweaver.
Como faço para habilitar o rastreamento?
O driver suporta o uso de rastreamento (ou registro) para ajudar a resolver problemas e problemas com o JDBC Driver quando ele é usado em seu aplicativo. Para habilitar o uso do rastreamento JAR do lado do cliente, o JDBC Driver usa as APIs de registro em log em java.util.logging. Para obter mais informações, consulte de operação do driver de rastreamento . Para rastreamento XA do lado do servidor, consulte Rastreamento de acesso a dados no SQL Server.
Onde posso baixar versões mais antigas do driver, como o driver JDBC do SQL Server 2000, o driver 2005, 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 são mais suportadas. Estamos continuamente melhorando o suporte à conectividade Java. Como tal, é altamente recomendável que você trabalhe com a versão mais recente do driver JDBC da Microsoft.
Estou usando o JRE 1.4. Qual driver é compatível com o JRE 1.4?
Para clientes que usam produtos SAP e precisam de suporte ao JRE 1.4, você pode entrar em contato com SAP Service Marketplace para obter o driver JDBC da Microsoft 1.2.
O driver pode se comunicar usando algoritmos validados pelo FIPS?
O Microsoft JDBC Driver não contém nenhum algoritmo criptográfico. Se um cliente usa algoritmos de sistema operacional, aplicativo e JVM considerados aceitáveis pelos FIPS (Federal Information Processing Standards) e configura o driver para usar esses algoritmos, o driver usa apenas os algoritmos designados para comunicação. Para obter mais informações, consulte modo FIPS.