データ ソースのサンプル
この Microsoft SQL Server JDBC Driver サンプル アプリケーションは、データ ソース オブジェクトを使用して SQL Server データベースに接続する方法を示しています。また、ストアド プロシージャを使用して SQL Server データベースからデータを取得する方法も示します。
このサンプルのコード ファイルは connectDS.java という名前で、次の場所にあります。
<インストール ディレクトリ>\sqljdbc_<バージョン>\<言語>\help\samples\connections
必要条件
このサンプル アプリケーションを実行するには、クラスパスの設定で sqljdbc.jar ファイルまたは sqljdbc4.jar ファイルを追加する必要があります。クラスパスに sqljdbc.jar または sqljdbc4.jar のエントリがない場合、サンプル アプリケーションで "Class not found" という一般的な例外がスローされます。また、SQL Server 2005 AdventureWorks サンプル データベースへのアクセス権限も必要です。クラスパスの設定方法の詳細については、「JDBC ドライバーの使用」を参照してください。
メモ : |
---|
Microsoft SQL Server JDBC Driver Version 2.0 には、sqljdbc.jar と sqljdbc4.jar という 2 つのクラス ライブラリ ファイルが用意されており、必要な Java ランタイム環境 (JRE) 設定によって自由に使い分けることができます。選択する JAR ファイルの詳細については、「JDBC ドライバーのシステム要件」を参照してください。 |
例
次の例では、サンプル コードにより SQLServerDataSource オブジェクトの setter メソッドを使用してさまざまな接続プロパティを設定し、SQLServerDataSource オブジェクトの getConnection メソッドを呼び出して、SQLServerConnection オブジェクトを返します。
次に、サンプル コードは SQLServerConnection オブジェクトの prepareCall メソッドを使用して SQLServerCallableStatement オブジェクトを作成し、さらに executeQuery メソッドが呼び出されてストアド プロシージャを実行します。
最後に、サンプルでは executeQuery メソッドから返された SQLServerResultSet オブジェクトを使用して、ストアド プロシージャが返した結果を繰り返し処理します。
import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;
public class connectDS {
public static void main(String[] args) {
// Declare the JDBC objects.
Connection con = null;
CallableStatement cstmt = null;
ResultSet rs = null;
try {
// Establish the connection.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("UserName");
ds.setPassword("*****");
ds.setServerName("localhost");
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");
con = ds.getConnection();
// Execute a stored procedure that returns some data.
cstmt = con.prepareCall("{call dbo.uspGetEmployeeManagers(?)}");
cstmt.setInt(1, 50);
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 (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) try { rs.close(); } catch(Exception e) {}
if (cstmt != null) try { cstmt.close(); } catch(Exception e) {}
if (con != null) try { con.close(); } catch(Exception e) {}
System.exit(1);
}
}
}