Verwenden des JDBC-Treibers

Dieser Abschnitt enthält Anleitungen, um in kurzer Zeit mit Microsoft SQL Server JDBC Driver eine einfache Verbindung mit einer SQL Server-Datenbank herzustellen. Vor dem Herstellen einer Verbindung mit einer SQL Server-Datenbank müssen SQL Server auf dem lokalen Computer oder einem Server sowie der JDBC-Treiber auf dem lokalen Computer installiert werden.

Auswählen der richtigen JAR-Datei

Microsoft SQL Server JDBC Driver, Version 2.0, enthält die Klassenbibliotheksdateien sqljdbc.jar und sqljdbc4.jar für die jeweilige Verwendung mit den bevorzugten JRE (Java Runtime Environment)-Einstellungen. Weitere Informationen zum Auswählen der richtigen JAR-Datei finden Sie unter Systemanforderungen für den JDBC-Treiber.

Festlegen des Klassenpfads

Der JDBC-Treiber ist kein Bestandteil des Java SDK. Wenn Sie diesen verwenden möchten, müssen Sie den Klassenpfad so festlegen, dass die Datei sqljdbc.jar oder sqljdbc4.jar enthalten ist. Wenn im Klassenpfad kein Eintrag für sqljdbc.jar oder sqljdbc4.jar vorhanden ist, löst die Anwendung die allgemeine Ausnahme "Klasse nicht gefunden" aus.

Die Datei sqljdbc.jar wird im folgenden Pfad installiert:

<Installationsverzeichnis>\sqljdbc_<Version>\<Sprache>\sqljdbc.jar

<Installationsverzeichnis>\sqljdbc_<Version>\<Sprache>\sqljdbc4.jar

Für eine Windows-Anwendung wird beispielsweise die folgende CLASSPATH-Anweisung verwendet:

CLASSPATH =.;C:\Program Files\Microsoft SQL Server JDBC Driver\sqljdbc_2.0\enu\sqljdbc.jar

Für eine Unix-/Linux-Anwendung wird beispielsweise die folgende CLASSPATH-Anweisung verwendet:

CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_2.0/enu/sqljdbc.jar

Sie müssen sicherstellen, dass die CLASSPATH-Anweisung nur einen Microsoft SQL Server JDBC-Treiber enthält, also entweder sqljdbc.jar or sqljdbc4.jar.

Hinweis

Auf Windows-Systemen können Verzeichnisnamen, die länger als 8.3 sind, oder Ordnernamen mit Leerzeichen zu Problemen bei Klassenpfaden führen. Wenn Sie ein derartiges Problem vermuten, sollten Sie die Datei sqljdbc.jar oder sqljdbc4.jar vorübergehend in ein Verzeichnis mit einem einfachen Namen wie C:\Temp verschieben, den Klassenpfad ändern und ermitteln, ob das Problem behoben wurde.

Anwendungen, die direkt an der Eingabeaufforderung ausgeführt werden

Der Klassenpfad wird im Betriebssystem konfiguriert. Hängen Sie sqljdbc.jar oder sqljdbc4.jar an den Klassenpfad des Systems an. Alternativ können Sie den Klassenpfad in der Java-Befehlszeile, mit der die Anwendung ausgeführt wird, mit der Option java -classpath angeben.

Anwendungen, die in einer IDE ausgeführt werden

Jeder IDE-Hersteller verwendet eine andere Methode, um den Klassenpfad in der IDE festzulegen. Es reicht nicht aus, den Klassenpfad lediglich im Betriebssystem festzulegen. Sie müssen sqljdbc.jar oder sqljdbc4.jar an den IDE-Klassenpfad anhängen.

Servlets und JSPs

Servlets und JSPs werden in einem Servlet-/JSP-Modul wie Tomcat ausgeführt. Der Klassenpfad muss wie in der Dokumentation für das Servlet-/JSP-Modul angegeben festgelegt werden. Es reicht nicht aus, den Klassenpfad lediglich im Betriebssystem festzulegen. Einige Servlet-/JSP-Module verfügen über Setupfenster, in denen Sie den Klassenpfad des Moduls festlegen können. In dieser Situation müssen Sie die richtige JAR-Datei für den JDBC-Treiber an den vorhandenen Klassenpfad des Moduls anhängen und das Modul neu starten. In anderen Situationen können Sie den Treiber bereitstellen, indem Sie sqljdbc.jar oder sqljdbc4.jar bei der Modulinstallation in ein bestimmtes Verzeichnis kopieren, z. B. "lib". Der Klassenpfad für den Modultreiber kann auch in einer modulspezifischen Konfigurationsdatei angegeben werden.

Enterprise Java Beans

Enterprise Java Beans (EJB) werden in einem EJB-Container ausgeführt. EJB-Container sind von verschiedenen Herstellern erhältlich. Java-Applets werden in einem Browser ausgeführt, aber von einem Webserver heruntergeladen. Kopieren Sie sqljdbc.jar oder sqljdbc4.jar in das Stammverzeichnis des Webservers, und geben Sie den Namen der JAR-Datei im HTML-archive-Tag des Applets an, z. B. <applet ... archive=sqljdbc.jar>.

Herstellen einer einfachen Verbindung mit einer Datenbank

Wenn Sie die sqljdbc.jar-Klassenbibliothek verwenden, müssen Sie zuerst den Treiber wie folgt registrieren:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Nachdem der Treiber geladen wurde, können Sie über eine Verbindungs-URL und die getConnection-Methode der DriverManager-Klasse eine Verbindung einrichten:

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
   "databaseName=AdventureWorks;user=MyUserName;password=*****;";
Connection con = DriverManager.getConnection(connectionUrl);

In der JDBC API 4.0 wurde die DriverManager.getConnection-Methode so erweitert, dass JDBC-Treiber automatisch geladen werden. Daher müssen Anwendungen die Class.forName-Methode bei Verwendung der sqljdbc4.jar-Klassenbibliothek nicht aufrufen, um den Treiber zu registrieren oder zu laden.

Wenn die getConnection-Methode der DriverManager-Klasse aufgerufen wird, wird ein geeigneter Treiber aus der Gruppe der registrierten JDBC-Treiber ausgewählt. Die Datei sqljdbc4.jar enthält die Datei META-INF/services/java.sql.Driver", die wiederum com.microsoft.sqlserver.jdbc.SQLServerDriver als registrierten Treiber enthält. Vorhandene Anwendungen, die die Treiber derzeit mit der Class.forName-Methode laden, funktionieren auch weiterhin ohne Änderungen.

Hinweis

Die sqljdbc4.jar-Klassenbibliothek erfordert JRE (Java Runtime Environment), Version 6.0 oder höher.

Weitere Informationen zum Herstellen von Verbindungen mit Datenquellen und zur Verwendung einer Verbindungs-URL finden Sie unter Erstellen der Verbindungs-URL und Festlegen von Verbindungseigenschaften.

Siehe auch

Andere Ressourcen

Übersicht über den JDBC-Treiber