Häufig gestellte Fragen (FAQ) zum JDBC-Treiber

JDBC-Treiber herunterladen

Dieser Artikel enthält Antworten auf häufig gestellte Fragen zum Microsoft JDBC-Treiber für SQL Server.

Häufig gestellte Fragen

Wie kann ich zur Verbesserung des JDBC-Treibers beitragen?
Der JDBC-Treiber ist ein Open-Source-Produkt, und den Quellcode finden Sie auf GitHub. Sie können zur Verbesserung des Treibers beitragen, indem Sie Probleme melden und an der Codebasis mitwirken.

Welche Versionen von SQL Server und Java werden vom Treiber unterstützt?
Detaillierte Informationen hierzu finden Sie auf der Seite Supportmatrix für den Microsoft JDBC-Treiber für SQL Server.

Was ist der Unterschied zwischen den im Microsoft Download Center verfügbaren JDBC-Treiberpaketen und dem auf GitHub verfügbaren JDBC-Treiber?
Die im GitHub-Repository für den Microsoft JDBC-Treiber verfügbaren JDBC-Treiberdateien bilden den Kern des JDBC-Treibers und stehen unter der im Repository aufgeführten Open-Source-Lizenz. Die Treiberpakete im Microsoft Download Center enthalten andere Bibliotheken für die integrierte Windows-Authentifizierung und die Aktivierung von XA-Transaktionen mit dem JDBC-Treiber. Diese anderen Bibliotheken stehen unter der Lizenz, die im herunterladbaren Paket enthalten ist.

Was muss ich wissen, um meinen Treiber zu aktualisieren?
Der Microsoft JDBC-Treiber 12.6 unterstützt die JDBC-Spezifikationen 4.2 und 4.3 (teilweise), und enthält zwei JAR-Klassenbibliotheken im Installationspaket wie folgt:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-12.6.0.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0 und höher
mssql-jdbc-12.6.0.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 12.4 unterstützt die JDBC-Spezifikationen 4.2 und 4.3 (teilweise), und enthält zwei JAR-Klassenbibliotheken im Installationspaket wie folgt:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-12.4.0.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0 und höher
mssql-jdbc-12.4.0.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 12.2 unterstützt die JDBC-Spezifikation 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält zwei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-12.2.0.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0 und höher
mssql-jdbc-12.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 11.2 unterstützt die JDBC-Spezifikation 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält vier JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-11.2.0.jre18.jar JDBC 4.3 (teilweise) und 4.2 JDK 18.0
mssql-jdbc-11.2.0.jre17.jar JDBC 4.3 (teilweise) und 4.2 JDK 17.0
mssql-jdbc-11.2.0.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-11.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 10.2 unterstützt die JDBC-Spezifikationen 4.2 und 4.3 (teilweise), und das Installationspaket enthält die folgenden drei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-10.2.0.jre17.jar JDBC 4.3 (teilweise) und 4.2 JDK 17.0
mssql-jdbc-10.2.0.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-10.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 9.4 unterstützt die JDBC-Spezifikationen 4.2 und 4.3 (teilweise), und das Installationspaket enthält die folgenden drei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-9.4.1.jre16.jar JDBC 4.3 (teilweise) und 4.2 JDK 16.0
mssql-jdbc-9.4.1.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-9.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 9.2 unterstützt die JDBC-Spezifikationen 4.2 und 4.3 (teilweise), und das Installationspaket enthält die folgenden drei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-9.2.0.jre15.jar JDBC 4.3 (teilweise) und 4.2 JDK 15.0
mssql-jdbc-9.2.0.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-9.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 8.4 unterstützt die JDBC-Spezifikationen 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält die folgenden drei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-8.4.1.jre14.jar JDBC 4.3 (teilweise) und 4.2 JDK 14.0
mssql-jdbc-8.4.1.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-8.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 8.2 unterstützt die JDBC-Spezifikationen 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält drei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-8.2.2.jre13.jar JDBC 4.3 (teilweise) und 4.2 JDK 13.0
mssql-jdbc-8.2.2.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-8.2.2.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 7.4 unterstützt die JDBC-Spezifikationen 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält drei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-7.4.1.jre12.jar JDBC 4.3 (teilweise) und 4.2 JDK 12.0
mssql-jdbc-7.4.1.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-7.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 7.2 unterstützt die JDBC-Spezifikation 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält zwei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-7.2.2.jre11.jar JDBC 4.3 (teilweise) und 4.2 JDK 11.0
mssql-jdbc-7.2.2.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 7.0 unterstützt die JDBC-Spezifikation 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält zwei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-7.0.0.jre10.jar JDBC 4.3 (teilweise) und 4.2 JDK 10.0
mssql-jdbc-7.0.0.jre8.jar JDBC 4.2 JDK 8.0
     

Der Microsoft JDBC-Treiber 6.4 unterstützt die JDBC-Spezifikationen 4.1 und 4.2 sowie 4.3 (teilweise), und das Installationspaket enthält drei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-6.4.0.jre9.jar JDBC 4.3 (teilweise), 4.2 und 4.1 JDK 9.0
mssql-jdbc-6.4.0.jre8.jar JDBC 4.2 und 4.1 JDK 8.0
mssql-jdbc-6.4.0.jre7.jar JDBC 4.1 JDK 7.0
     

Der Microsoft JDBC-Treiber 6.2 unterstützt die JDBC-Spezifikationen 4.0, 4.1 und 4.2, und das Installationspaket enthält zwei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
mssql-jdbc-6.2.2.jre8.jar JDBC 4.2, 4.1 und 4.0 JDK 8.0
mssql-jdbc-6.2.2.jre7.jar JDBC 4.1 und 4.0 JDK 7.0
     

Die Microsoft JDBC-Treiber 6.0 und 4.2 für SQL Server unterstützen die JDBC-Spezifikationen 4.0, 4.1 und 4.2, und das Installationspaket enthält zwei JAR-Klassenbibliotheken:

JAR JDBC-Spezifikation JDK-Version
sqljdbc42.jar JDBC 4.2, 4.1 und 4.0 JDK 8.0
sqljdbc41.jar JDBC 4.1 und 4.0 JDK 7.0
     

Der Microsoft JDBC-Treiber 4.1 für SQL Server unterstützt die JDBC-Spezifikation 4.0, und das Installationspaket enthält eine JAR-Klassenbibliothek:

JAR JDBC-Spezifikation JDK-Version
sqljdbc41.jar JDBC 4.0 JDK 7.0 und 6.0
     

Muss ich Änderungen am Code meiner Anwendung vornehmen, um den neuesten Treiber mit meiner bestehenden Version von SQL Server verwenden zu können?
In der Regel wird der Treiber abwärtskompatibel entworfen, sodass Sie Ihre vorhandenen Anwendungen für ein Treiberupgrade nicht anpassen müssen. Wenn in einer neuen Treiberversion ein Breaking Change eingeführt wird, enthält der Abschnitt Versionshinweise zum JDBC-Treiber detaillierte Informationen zu dieser Änderung und zu ihren Auswirkungen auf bestehende Anwendungen. Darüber hinaus finden Sie in den Versionsanmerkungen des Treibers eine Liste behobener Fehler und bekannter Probleme in diesem Release.

Wie viel kostet der Treiber?
Der Microsoft JDBC-Treiber für SQL Server ist kostenlos verfügbar.

Kann ich den Treiber weiterverteilen?
JDBC-Treiber ab Version 6.0 dürfen weiterverteilt werden. Lesen Sie die Klausel „Für die Verbreitung zugelassener Code“ in den Lizenzvereinbarungen für das jeweilige Paket.

Kann ich mithilfe des Treibers von einem Linux-Computer aus auf Microsoft SQL Server zugreifen?
Ja. Sie können den Treiber verwenden, um von Linux, Unix und anderen nicht-Windows-Plattformen auf SQL Server zuzugreifen. Weitere Informationen finden Sie unter Supportmatrix für den Microsoft JDBC-Treiber für SQL Server.

Unterstützt der Treiber die TLS-Verschlüsselung?
Ab Version 1.2 unterstützt der Treiber die Transport Layer Security-Verschlüsselung (TLS), zuvor als Secure Sockets Layer (SSL) bezeichnet. Weitere Informationen finden Sie unter Verwenden von Verschlüsselung.

Welche Authentifizierungstypen werden vom Microsoft JDBC-Treiber für SQL Server unterstützt?
Die verfügbaren Authentifizierungsoptionen sind in der folgenden Tabelle aufgelistet. Eine reine Java Kerberos-Authentifizierung ist seit Version 4.0 des Treibers verfügbar.

Plattform Authentifizierung
Nicht-Windows-System Reine Java Kerberos
Nicht-Windows-System SQL Server
Nicht-Windows-System Azure Active Directory-Authentifizierung
Nicht-Windows-System NTLM
Windows Reine Java Kerberos
Windows SQL Server
Windows Kerberos mit NTLM als Backup
Windows NTLM
Windows Azure Active Directory-Authentifizierung
   

Unterstützt der Treiber IPv6-Internetadressen (Internetprotokoll, Version 6)?
Ja. Der Treiber unterstützt die Verwendung von IPv6-Adressen. Verwenden Sie die Sammlung von Verbindungseigenschaften und die Verbindungszeichenfolgeneigenschaft „serverName“. Weitere Informationen finden Sie unter Erstellen der Verbindungs-URL.

Was ist die adaptive Pufferung?
Die adaptive Pufferung wurde in Version 1.2 des Microsoft JDBC-Treibers für SQL Server 2005 eingeführt. Sie wurde konzipiert, um große Datenmengen eines beliebigen Typs ohne den durch Servercursor verursachten Overhead abzurufen. Die adaptive Pufferung des Microsoft SQL Server JDBC Drivers stellt mit „responseBuffering“ eine Eigenschaft für Verbindungszeichenfolgen bereit, die auf „adaptive“ oder „full“ festgelegt werden kann. In Version 1.2 lautet der Puffermodus standardmäßig „full“, und die Anwendung muss den Modus für die adaptive Pufferung explizit festlegen. Ab Version 2.0 des JDBC-Treibers ist das Standardverhalten des Treibers „adaptive“. Daher muss Ihre Anwendung das adaptive Verhalten nicht explizit anfordern, um ein adaptives Pufferverhalten zu erzielen. Weitere Informationen finden Sie unter Using Adaptive Buffering (Verwenden der adaptiven Pufferung) und im Blogbeitrag What is adaptive response buffering and why should I use it? (Was ist die adaptive Pufferung und warum sollte ich sie verwenden?).

Unterstützt der Treiber das Verbindungspooling?
Der Treiber unterstützt das Verbindungspooling unter Java Platform, Enterprise Edition 5 (Java EE 5). Der Treiber implementiert die erforderlichen JDBC 3.0-Schnittstellen, damit er implementiertes Verbindungspooling von Anbietern für Anwendungsserver auf Middleware-Ebene nutzen kann. Der Treiber nutzt in diesen Umgebungen Verbindungspool. Weitere Informationen finden Sie unter Verwenden des Verbindungspoolings. Der Treiber bietet keine eigene Implementierung des Poolings, sondern stützt sich auf Java-Anwendungsserver von Drittanbietern.

Steht für den Treiber Support zur Verfügung?
Es sind zahlreiche Optionen verfügbar. Sie können Ihre Frage oder Ihr Problem im GitHub-Repository posten, das von Microsoft überwacht wird. Foren werden von Microsoft, MVPs und der Community überwacht. Sie können sich auch an den Microsoft-Kundensupport wenden. Das Entwicklungsteam bittet Sie möglicherweise, das Problem außerhalb von Drittanbieter-Anwendungsservern zu reproduzieren. Wenn das Problem nicht außerhalb der Hostumgebung des Java-Containers reproduziert werden kann, müssen Sie den Drittanbieter hinzuziehen, damit das Team Ihnen weiterhin helfen kann. Außerdem bittet Sie das Team möglicherweise, Ihr Problem unter einem Betriebssystem wie Windows zu reproduzieren, damit die optimale Lösung für das Problem gefunden werden kann.

Ist der Treiber für die Verwendung mit Anwendungsservern von Drittanbietern zertifiziert?
Der Treiber wurde mit allen wichtigen Anwendungsserver getestet, wie z. B. IBM WebSphere und SAP NetWeaver.

Wie aktiviere ich die Ablaufverfolgung?
Der Treiber unterstützt die Verwendung der Ablaufverfolgung (oder Protokollierung). Dies erleichtert die Lösung von Problemen, die bei Verwendung des JDBC-Treibers in Ihrer Anwendung auftreten können. Der JDBC-Treiber verwendet die Logging-API in java.util.logging, um die clientseitige JAR-Ablaufverfolgung zu aktivieren. Weitere Informationen finden Sie unter Tracing Driver Operation (Ablaufverfolgung für Treibervorgänge). Weitere Informationen zur serverseitigen XA-Ablaufverfolgung finden Sie unter Verfolgung des Datenzugriffs in SQL Server.

Wo kann ich ältere Versionen des Treibers herunterladen, z.B. den JDBC-Treiber für SQL Server 2000, den 2005-Treiber oder Treiber für 1.0, 1.1 oder 1.2?
Diese Treiberversionen stehen nicht zum Download zur Verfügung, da sie nicht mehr unterstützt werden. Wir arbeiten laufend daran, die Unterstützung der Java-Konnektivität zu verbessern. Daher raten wir dringend zur Verwendung der neuesten Version des Microsoft JDBC-Treibers.

Ich verwende JRE 1.4. Welcher Treiber ist mit JRE 1.4 kompatibel?
Kund*innen, die SAP-Produkte verwenden und Unterstützung für JRE 1.4 benötigen, können Sie zum SAP Service Marketplace navigieren, um den Microsoft JDBC-Treiber 1.2 zu erhalten.

Kann der Treiber mit durch FIPS validierten Algorithmen kommunizieren?
Der Microsoft JDBC-Treiber umfasst keine Kryptografiealgorithmen. Wenn ein Kunde FIPS-konforme (Federal Information Processing Standards) Algorithmen für Betriebssysteme, Anwendungen und JVM verwendet und den Treiber zur Verwendung dieser Algorithmen konfiguriert, dann greift der Treiber für die Kommunikation nur auf die festgelegten Algorithmen zurück. Weitere Informationen finden Sie unter FIPS-Modus.

Siehe auch