SQL Server 2000 Driver for JDBC Service Pack 3 にてJDBC Driver for SQL Server 2000 SP3 がリリースされています。
SQLServer2000 用の Type 4 JDBC Driver が Microsoft から公開されています。 WebLogic Server (以後WLS) に付属の BEA WebLogic Type 4 JDBC MS SQL Server ドライバとどちらを使用するか迷ったのですが付属のJDBCドライバはライセンス的 に Tomcat で同じドライバを使用することができなかったため Microsoft 製を使用することにしました。
JDBC Driver for SQL Server 2000 SP2
setupJPN.exe を実行します。
セットアップの種類 | カスタム |
インストールする機能 | すべて |
インストール先 | C:\java\SQLServer2000(任意) |
デフォルトだとインストール先が 「C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC」 になっていますがディレクトリにスペースが含まれていると Tomcat で使用したときに誤動作するかもしれないので変更します。
「Microsoft SQL Server 2000 Driver for JDBC で使用するためのサンプル接続プール マネージャ 」にサンプル コーディングが紹介されていますがこのサンプルにしたがって SQLServerDataSource クラスを使うと Tomcat では動作しますが WLS では ClassCastException になります。 なぜサンプルで SQLServerDataSource クラスを使っているのか分か りませんが JDBC のクラスである DataSource クラスを使うと Tomcat でも WLS でも動作するソースにすることができます(あたり 前といえばあたり前なのですが)
public abstract class TrainingBusiness { // --------------------------------------------------------- Instance Variables // プロパティファイル // PROPERTYBASE.properties がプロパティファイル名になる private final String PROPERTYBASE = "training"; // データソース private DataSource ds = null; private String datasourcename = null; protected Log log = LogFactory.getLog(this.getClass()); // --------------------------------------------------------- Methods /** * DataSource を設定します。 * * @throws Exception JNDI lookup が失敗した場合 */ protected void setDataSource() throws Exception { InitialContext ic = null; try { // プロパティファイルからキーと値のリストを読み込みます ResourceBundle bundle = ResourceBundle.getBundle(PROPERTYBASE); datasourcename = bundle.getString("dbs.datasource"); //log.info("datasourcename=" + datasourcename); // 初期コンテキストを取得 ic = new InitialContext(); // ルックアップしてデータソースを取得 // SQLServerDataSource クラスは使わないこと // ds = (SQLServerDataSource)ic.lookup(datasourcename); ds = (DataSource)ic.lookup(datasourcename); } catch (Exception e) { log.error(e.getMessage()); throw e; } finally { try { if(ic != null) ic.close(); } catch (Exception e) { log.error(e.getMessage()); // エラー発生 throw e; } } }
C:\java\SQLServer2000\books\books.pdf にあります。クラス名や URLStringなどの最低限必要な情報は「SQL Server 2000 Driver for JDBC User's Guide and Reference」の「1. Quick Start」を参照してください。
Type4ドライバは以下の3ファイルです。CLASSPATHに含めて使用します。
C:\java\SQLServer2000\lib\msbase.jar C:\java\SQLServer2000\lib\msutil.jar C:\java\SQLServer2000\lib\mssqlserver.jar
クラス
com.microsoft.jdbc.sqlserver.SQLServerDriver
URLString
jdbc:microsoft:sqlserver://server_name:1433