資料來源範例

下載 JDBC 驅動程式

此 Microsoft JDBC Driver for SQL Server 範例應用程式會示範如何使用資料來源物件連線到 SQL Server 資料庫。 它也示範如何使用預存程序,從 SQL Server 資料庫擷取資料。

此範例的程式碼檔案名稱為 ConnectDataSource.java,可以在下列位置找到:

\<installation directory>\sqljdbc_<version>\<language>\samples\connections

需求

若要執行此範例應用程式,您必須將 Classpath 設定為包含 mssql-jdbc jar 檔案。 您也必須存取 AdventureWorks2022 範例資料庫。 如需如何設定 classpath 的詳細資訊,請參閱使用 JDBC 驅動程式

注意

適用於 SQL Server 的 Microsoft JDBC 驅動程式提供 mssql-jdbc 類別庫檔案,可根據您慣用的 Java Runtime Environment (JRE) 設定使用。 如需選擇哪個 JAR 檔案的詳細資訊,請參閱 JDBC Driver 的系統需求

範例

在下列範例中,範例程式碼會使用 SQLServerDataSource 物件的 setter 方法來設定各種連線屬性,然後呼叫 SQLServerDataSource 物件的 getConnection 方法傳回 SQLServerConnection 物件。

接下來,範例程式碼會使用 SQLServerConnection 物件的 prepareCall 方法建立 SQLServerCallableStatement 物件,然後呼叫 executeQuery 方法來執行預存程序。

最後,範例會使用從 executeQuery 方法傳回的 SQLServerResultSet 物件,逐一查看預存程序所傳回的結果。

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();
        }
    }
}

另請參閱

連線及擷取資料