SQL Server JDBC Driverを使ってみる

package test.jdbc;

import java.sql.*;

public class SqlServerJdbcTester {
    public static void main(String args[]) throws SQLException, ClassNotFoundException {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 

        String user = "testuser";
        String password = "testpass";
        String database = "ssdb";
/*
        Connection conn = DriverManager.getConnection(
                "jdbc:sqlserver://localhost:1433;databaseName=" + database
                        + ";integratedSecurity=true");
*/
        Connection conn = DriverManager.getConnection(
                "jdbc:sqlserver://localhost:1433;databaseName=" + database
                        + ";", user, password);

        System.out.println("connected.");
        DatabaseMetaData dbmd = conn.getMetaData(); 
        System.out.println("positioned updates is supported? - " +
                dbmd.supportsPositionedUpdate());

        Statement stmt = conn.createStatement();
        ResultSet rset = stmt.executeQuery("SELECT AREA_CODE, AREA_NAME FROM AREA");

        while (rset.next()){
            System.out.println(rset.getString(1) + "\t" + rset.getString(2));
        }

        System.out.println("Your JDBC installation is correct.");
        rset.close();
        stmt.close();
        conn.close();
    }
}

Microsoft SQL Serverに接続するJDBC Driverは、 マイクロソフトから無償で配布されていますが、 「SQL Server 2005 JDBC Driver」というものと「SQL Server JDBC Driver 2.0」 というものがあって、はて、いったいどちらが新しいのやら…?
正解は、2.0の方が2005より新しいです。(2005はバージョン1.0という位置づけ)
また2.0をダウンロードして展開すると、sqljdbc.jar と sqljdbc4.jar という2つのファイルが出てきてますますわけがわかりません。 整理すると、次のようになっているようです。
  • 「2005」のsqljdbc.jarは、SQL Server 2000〜2005に接続可能(2008は不可!) で、JDBC 2.0までをサポート。Java 1.4VM以降で動作する。
  • 「2.0」のsqljdbc.jarは、SQL Server 2000〜2008に接続可能で、JDBC 3.0までをサポート。 Java5のVMだけで動作する。(1.4以前や6以降は不可!)
  • 「2.0」のsqljdbc4.jarは、SQL Server 2000〜2008に接続可能で、JDBC 4.0までをサポート。 Java6のVMだけで動作する。(5以前は不可!)

JDBC and Swing Top

(first uploaded 2010/01/09 last updated 2010/01/09, URANO398)

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!