Java SQLServer 2008R2 接続
■ 環境準備 ライブラリの入手
下記サイトよりMicrosoft SQL ServerのJDBCドライバー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 クラス ライブラリは、JDBC 4.0 をサポート。 sqljdbc.jar が備えているすべての機能に加え、JDBC 4.0 の新しいメソッドが含まれています。 ・sqljdbc4.jar クラス ライブラリを使用するには、バージョン 6.0 以降の Java ランタイム環境 (JRE) が必要。 JRE 1.4 または JRE 5.0 で sqljdbc4.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;