データ ソースのサンプル
この 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 Driver の使用」を参照してください。
注意
Microsoft SQL Server JDBC Driver には、sqljdbc.jar と sqljdbc4.jar という 2 つのクラス ライブラリ ファイルが用意されており、必要な Java ランタイム環境 (JRE) 設定によって自由に使い分けることができます。選択する JAR ファイルの詳細については、「JDBC Driver のシステム要件」を参照してください。
例
次の例では、サンプル コードにより 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);
}
}
}