JDBC ドライバーの使用

このセクションでは、Microsoft SQL Server JDBC Driver を使用して SQL Server データベースへの単純な接続を作成する方法について簡単に説明します。SQL Server データベースに接続する前に、まず SQL Server をローカル コンピューターまたはサーバーのいずれかにインストールし、JDBC ドライバーをローカル コンピューターにインストールする必要があります。

適切な JAR ファイルの選択

Microsoft SQL Server JDBC Driver Version 2.0 には、sqljdbc.jarsqljdbc4.jar という 2 つのクラス ライブラリ ファイルが用意されており、必要な Java ランタイム環境 (JRE) 設定によって自由に使い分けることができます。選択する JAR ファイルの詳細については、「JDBC ドライバーのシステム要件」を参照してください。

クラスパスの設定

JDBC ドライバーは、Java SDK の一部ではありません。使用する場合は、クラスパスの設定で sqljdbc.jar ファイルまたは sqljdbc4.jar ファイルを追加する必要があります。クラスパスに sqljdbc.jar または sqljdbc4.jar のエントリがない場合、お使いのアプリケーションで "Class not found" という一般的な例外がスローされます。

sqljdbc.jar ファイルおよび sqljdbc4.jar ファイルは次の場所にインストールされます。

<インストール ディレクトリ>\sqljdbc_<バージョン>\<言語>\sqljdbc.jar

<インストール ディレクトリ>\sqljdbc_<バージョン>\<言語>\sqljdbc4.jar

Windows アプリケーションで使用される CLASSPATH ステートメントの例を以下に示します。

CLASSPATH =.;C:\Program Files\Microsoft SQL Server JDBC Driver\sqljdbc_2.0\enu\sqljdbc.jar

Unix/Linux アプリケーションで使用される CLASSPATH ステートメントの例を以下に示します。

CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_2.0/enu/sqljdbc.jar

CLASSPATH ステートメントに指定する Microsoft SQL Server JDBC ドライバーは 1 つだけとしてください (sqljdbc.jar または sqljdbc4.jar のどちらか一方など)。

注メモ :

Windows システムでは、ディレクトリ名が 8.3 より長い場合、またはフォルダー名にスペースが含まれている場合、クラスパスに問題が生じることがあります。この種の問題が疑われる場合、sqljdbc.jar ファイルまたは sqljdbc4.jar ファイルを一時的に C:\Temp のような単純な名前のディレクトリへ移動し、クラスパスを変更して問題が解決するかどうか判断する必要があります。

コマンド プロンプトで直接実行されるアプリケーション

クラスパスは、オペレーティング システムにおいて構成されます。sqljdbc.jar または sqljdbc4.jar をシステムのクラスパスに追加します。または、java -classpath オプションを使用して、アプリケーションを実行するクラスパスを Java コマンド ラインで指定することもできます。

IDE で実行されるアプリケーション

各 IDE ベンダーでは、クラスパスを自社の IDE に設定するためのさまざまな方法を用意しています。クラスパスをオペレーティング システムに設定するだけでは動作しません。sqljdbc.jar または sqljdbc4.jar を IDE クラスパスに追加する必要があります。

サーブレットおよび JSP

サーブレットや JSP は、Tomcat のようなサーブレット/JSP エンジンで実行されます。クラスパスは、サーブレット/JSP エンジンのドキュメントに従って設定する必要があります。クラスパスをオペレーティング システムに設定するだけでは動作しません。一部のサーブレット/JSP エンジンでは、エンジンのクラスパスを設定するために使用できるセットアップ画面が用意されています。この場合、正しい JDBC ドライバー用 JAR ファイルを既存のエンジン クラスパスに追加し、エンジンを再起動する必要があります。この他の場合は、エンジンをインストールするときに lib のような特定のディレクトリに sqljdbc.jar または sqljdbc4.jar をコピーしてドライバーを配置することができます。エンジン ドライバーのクラスパスは、エンジン固有の構成ファイルで指定することもできます。

Enterprise Java Beans

Enterprise Java Beans (EJB) は、EJB コンテナーで実行されます。EJB コンテナーは、さまざまなベンダーから供給されています。Java アプレットはブラウザー上で動作しますが、Web サーバーからダウンロードされます。sqljdbc.jar または sqljdbc4.jar を Web サーバーのルートにコピーし、アプレットの [HTML archive] タブで JAR ファイル名を指定します。たとえば <applet ... archive=sqljdbc.jar> のようになります。

データベースへの簡単な接続を作成する

sqljdbc.jar クラス ライブラリを使用するアプリケーションでは、まず次のようにしてドライバーを登録する必要があります。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

ドライバーが読み込まれたら、接続 URL および DriverManager クラスの getConnection メソッドを使用して接続を確立します。

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
   "databaseName=AdventureWorks;user=MyUserName;password=*****;";
Connection con = DriverManager.getConnection(connectionUrl);

JDBC API 4.0 では、JDBC ドライバーが自動的に読み込まれるように、DriverManager.getConnection メソッドが改良されました。したがって、sqljdbc4.jar クラス ライブラリを使用する場合は、アプリケーションから Class.forName メソッドを呼び出してドライバーの登録または読み込みを行う必要はありません。

DriverManager クラスの getConnection メソッドを呼び出すと、登録されている一連の JDBC ドライバーから適切なドライバーが検出されます。sqljdbc4.jar ファイルには、"META-INF/services/java.sql.Driver" ファイルが含まれており、そこに登録済みのドライバーとして com.microsoft.sqlserver.jdbc.SQLServerDriver が存在します。現在 Class.forName メソッドを使用してドライバーを読み込む仕様になっている既存のアプリケーションも正常に動作します。特に修正の必要はありません。

注メモ :

sqljdbc4.jar クラス ライブラリを使用するには、バージョン 6.0 以降の Java ランタイム環境 (JRE) が必要です。

データ ソースとの接続および接続 URL の使用の詳細については、「接続 URL の構築」および「接続プロパティの設定」を参照してください。

参照

その他の技術情報

JDBC ドライバの概要