データ ソースのサンプル

JDBC ドライバーのダウンロード

この Microsoft JDBC Driver for SQL Server サンプル アプリケーションは、データ ソース オブジェクトを使用して SQL Server データベースに接続する方法を示しています。 また、ストアド プロシージャを使用して SQL Server データベースからデータを取得する方法も示します。

このサンプルのコード ファイルは ConnectDataSource.java という名前で、次の場所にあります。

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

必要条件

このサンプル アプリケーションを実行するには、クラスパスを設定して mssql-jdbc jar ファイルを含める必要があります。 また、AdventureWorks2022 サンプル データベースへのアクセス権も必要です。 クラスパスを設定する方法の詳細については、「JDBC ドライバーの使用」を参照してください。

注意

SQL Server 用 Microsoft JDBC ドライバー には、必要な Java ランタイム環境 (JRE) 設定に応じて使用される mssql-jdbc クラス ライブラリ ファイルが用意されています。 選択する 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();
        }
    }
}

こちらもご覧ください

接続およびデータの取得