Java SQLServer 2008R2 接続

環境準備 ライブラリの入手



下記サイトよりMicrosoft SQL ServerJDBCドライバー3.0をダウンロードする
http://msdn.microsoft.com/ja-jp/data/aa937724

ダウンロードフォルダの中にはqljdbc.jar と sqljdbc4.jar の 2 つの JAR クラス ライブラリが含まれています。各用途によって使用するjarが違うので注意
【sqljdbc.jar】

・sqljdbc.jar クラス ライブラリは、JDBC 3.0 をサポート
・sqljdbc.jar クラス ライブラリを使用するには、バージョン 5.0 の Java ランタイム環境 (JRE) が必要。 JRE 6.0 で sqljdbc.jar を使用した場合、データベースへの接続時に例外がスローされる。
【sqljdbc4.jar】
・sqljdbc4.jar クラス ライブラリは、JDBC 4.0 をサポート。 sqljdbc.jar が備えているすべての機能に加え、JDBC 4.0 の新しいメソッドが含まれています。
・sqljdbc4.jar クラス ライブラリを使用するには、バージョン 6.0 以降の Java ランタイム環境 (JRE) が必要。 JRE 1.4 または JRE 5.0 で sqljdbc4.jar を使用すると例外がスローされる。
実装環境のjarをビルドパスに指定
サンプルコード
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class DbConnector {

public static void main(String[] args) {

Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rset = null;

// SQL Server認証接続
StringBuilder sb = new StringBuilder();
sb.append("jdbc:sqlserver://localhost:1433;"); // SQL Server
sb.append("user=ユーザ名;password=パスワード;"); // ユーザ名、パスワード

try {
// SQL Server ドライバ取得
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// コネクション作成
conn = DriverManager.getConnection(sb.toString());
String strSQL = "記載したいSQL文";

// ステートメント作成・SQL実行
pstmt = conn.prepareStatement(strSQL);
rset = pstmt.executeQuery();

while (rset.next()) {
// データを標準出力

}

} catch (Exception e) {
e.printStackTrace();

} finally {
if (rset != null) { // 結果セットのクローズ
try {
rset.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (pstmt != null) { // ステートメントのクローズ
try {
pstmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (conn != null) { // コネクションのクローズ
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}

その他の接続の仕方

統合認証でローカルの既定のデータベースに接続。
jdbc:sqlserver://localhost;integratedSecurity=true;
リモート サーバー上の名前付きデータベースに接続。
jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;
既定のポートでリモート サーバーに接続します。
jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true;
カスタマイズされたアプリケーション名を指定して接続します。
jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp;