Arbeiten mit einer Verbindung

JDBC-Treiber herunterladen

Die folgenden Abschnitte enthalten Beispiele für die verschiedenen Möglichkeiten, um mit der SQLServerConnection-Klasse von Microsoft JDBC-Treiber für SQL Server eine Verbindung mit einer SQL Server-Datenbank herzustellen.

Hinweis

Wenn beim Herstellen von Verbindungen zu SQL Server mit dem JDBC-Treiber Probleme auftreten, finden Sie unter Behandlung von Verbindungsproblemen Vorschläge zum Beheben der Probleme.

Erstellen einer Verbindung mit der DriverManager-Klasse

Die einfachste Vorgehensweise zum Erstellen einer Verbindung zu einer SQL Server-Datenbank besteht darin, den JDBC-Treiber zu laden und wie im Folgenden dargestellt die getConnection-Methode der DriverManager-Klasse aufzurufen:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = DriverManager.getConnection(connectionUrl);  

Bei diesem Verfahren wird eine Datenbankverbindung mit dem ersten verfügbaren Treiber in der Liste der Treiber erstellt, der erfolgreich eine Verbindung mit der angegebenen URL herstellen kann.

Hinweis

Bei Verwendung der sqljdbc4.jar-Klassenbibliothek müssen Anwendungen den Treiber nicht mit der Class.forName-Methode explizit registrieren oder laden. Wenn die getConnection-Methode der DriverManager-Klasse aufgerufen wird, wird aus der Gruppe der registrierten JDBC-Treiber ein geeigneter Treiber ausgewählt. Weitere Informationen finden Sie unter "Verwenden des JDBC-Treibers".

Erstellen einer Verbindung mit der SQLServerDriver-Klasse

Wenn Sie in der Liste der Treiber für DriverManager einen bestimmten Treiber angeben müssen, können Sie wie im Folgenden dargestellt eine Datenbankverbindung mit der connect-Methode der SQLServerDriver-Klasse erstellen:

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = d.connect(connectionUrl, new Properties());  

Erstellen einer Verbindung mit der SQLServerDataSource-Klasse

Wenn Sie eine Verbindung mit der SQLServerDataSource-Klasse erstellen müssen, können Sie verschiedene Festlegungsmethoden der Klasse verwenden, bevor Sie die getConnection-Methode aufrufen, z.B.:

SQLServerDataSource ds = new SQLServerDataSource();  
ds.setUser("MyUserName");  
ds.setPassword("*****");  
ds.setServerName("localhost");  
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");  
Connection con = ds.getConnection();  

Erstellen einer Verbindung mit einer speziellen Datenquelle als Ziel

Wenn Sie eine Datenbankverbindung mit einer speziellen Datenquelle herstellen müssen, können Sie mehrere Verfahren verwenden. Das jeweilige Verfahren hängt von den Eigenschaften ab, die Sie mit der Verbindungs-URL festlegen.

Um eine Verbindung mit der Standardinstanz auf einem Remoteserver herzustellen, verwenden Sie das folgende Beispiel:

String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"

Um eine Verbindung mit einem bestimmten Port eines Servers herzustellen, verwenden Sie das folgende Beispiel:

String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"

Um eine Verbindung mit einer benannten Instanz eines Servers herzustellen, verwenden Sie das folgende Beispiel:

String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"

Um eine Verbindung mit einer bestimmten Datenbank eines Servers herzustellen, verwenden Sie das folgende Beispiel:

String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"

Weitere Beispiele für Verbindungs-URL finden Sie unter Erstellen der Verbindungs-URL.

Erstellen einer Verbindung mit einem benutzerdefinierten Anmeldetimeout

Wenn Sie Serverlast oder Netzwerkverkehr berücksichtigen müssen, können Sie eine Verbindung mit einem bestimmten Timeoutwert für die Anmeldung in Sekunden erstellen, wie im folgenden Beispiel:

String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"

Erstellen einer Verbindung mit Identität auf Anwendungsebene

Wenn Sie Protokollierung und Profilerstellung verwenden, müssen Sie die Verbindung mit einer bestimmten Anwendung als Ursprung kennzeichnen, wie im folgenden Beispiel:

String url = "jdbc:sqlserver://MyServer;encrypt=true;applicationName=MYAPP.EXE;integratedSecurity=true;"

Trennen einer Verbindung

Sie können durch Aufrufen der close-Methode der SQLServerConnection-Klasse eine Datenbankverbindung wie im Folgenden dargestellt explizit schließen:

con.close();

Dadurch werden die vom SQLServerConnection-Objekt verwendeten Datenbankressourcen freigegeben, bzw. die Verbindung in Poolszenarios werden an den Verbindungspool zurückgegeben.

Hinweis

Durch den Aufruf der close-Methode wird auch ein Rollback aller anstehenden Transaktionen ausgeführt.

Weitere Informationen

Verbinden mit SQL Server mit dem JDBC-Treiber