Arbeiten mit einer Verbindung
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.