Beispiel für Datenquellen
Diese Beispielanwendung für den Microsoft JDBC-Treiber für SQL Server demonstriert, wie Sie eine Verbindung zu einer SQL Server-Datenbank über ein Datenquellenobjekt herstellen. Darüber hinaus wird gezeigt, wie Daten mithilfe einer gespeicherten Prozedur aus einer SQL Server-Datenbank abgerufen werden.
Die Codedatei für dieses Beispiel heißt „ConnectDataSource.java“ und befindet sich im folgenden Pfad:
\<installation directory>\sqljdbc_<version>\<language>\samples\connections
Requirements (Anforderungen)
Wenn Sie diese Beispielanwendung ausführen möchten, müssen Sie die Datei „mssql-jdbc.jar“ in den Klassenpfad aufnehmen. Darüber hinaus benötigen Sie Zugriff auf die AdventureWorks2022-Beispieldatenbank. Weitere Informationen zum Festlegen des Klassenpfads finden Sie unter mit dem JDBC-Treiber.
Hinweis
Der Microsoft JDBC-Treiber für SQL Server enthält die Klassenbibliotheksdateien „mssql-jdbc“ für die jeweilige Verwendung mit Ihren bevorzugten JRE-Einstellungen (Java Runtime Environment). Weitere Informationen zum Auswählen der richtigen JAR-Datei finden Sie unter Systemanforderungen für den JDBC-Treiber.
Beispiel
Im folgenden Beispielcode werden verschiedene Verbindungseigenschaften mithilfe der Setter-Methoden des Objekts SQLServerDataSource festgelegt. anschließend wird die getConnection-Methode des SQLServerDataSource-Objekts aufgerufen, um ein SQLServerConnection-Objekt zurückzugeben.
Anschließend wird die Methode prepareCall des SQLServerConnection-Objekts verwendet, um ein SQLServerCallableStatement-Objekt zu erstellen. Danach wird die Methode executeQuery aufgerufen, um die gespeicherte Prozedur auszuführen.
Abschließend wird das SQLServerResultSet-Objekt verwendet, das von der executeQuery-Methode zurückgegeben wurde, um die von der gespeicherten Prozedur zurückgegebenen Ergebnisse zu durchlaufen.
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class ConnectDataSource {
public static void main(String[] args) {
// Create datasource.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("<user>");
ds.setPassword("<password>");
ds.setServerName("<server>");
ds.setPortNumber(<port>);
ds.setDatabaseName("AdventureWorks");
try (Connection con = ds.getConnection();
CallableStatement cstmt = con.prepareCall("{call dbo.uspGetEmployeeManagers(?)}");) {
// Execute a stored procedure that returns some data.
cstmt.setInt(1, 50);
ResultSet rs = cstmt.executeQuery();
// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println("EMPLOYEE: " + rs.getString("LastName") + ", " + rs.getString("FirstName"));
System.out.println("MANAGER: " + rs.getString("ManagerLastName") + ", " + rs.getString("ManagerFirstName"));
System.out.println();
}
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}
}