JDBC について
JDBC は、SQL ステートメントを実行するときに使用する Java API (アプリケーションプログラミングインターフェイス) です。JDBC は、ColdFusion のようなアプリケーションでデータベースやプラットフォームに固有のインターフェイスを使用することなく、さまざまなデータベース管理システム (DBMS) との通信を可能にするための仕組みです。
次の表で、4 つのタイプの JDBC ドライバについて説明します。
タイプ
|
名前
|
説明
|
1
|
JDBC-ODBC ブリッジ
|
JDBC 呼び出しを ODBC 呼び出しに変換し、ODBC ドライバに送信します。
利点 : 異なる多くのデータベースへのアクセスが可能です。
欠点 : ColdFusion サーバーコンピュータに ODBC ドライバがインストールされていることと、(場合によっては) クライアントデータベースライブラリが存在していることが条件になります。パフォーマンスは他の JDBC ドライバタイプと比べると低下します。
アプリケーションで特定の DBMS に固有の機能を必要とする場合以外は、このタイプのドライバを使用することはお勧めしません。
|
2
|
Native-API/partly Java ドライバ
|
JDBC 呼び出しをデータベース固有の呼び出しに変換します。
利点 : Type 1 のドライバより、パフォーマンスが優れています。
欠点 : ベンダのクライアントデータベースライブラリを、ColdFusion と同じコンピュータに置く必要があります。
ColdFusion には、Microsoft Access Unicode データベースで使用する Type 2 ドライバが含まれています。
|
3
|
JDBC-Net pure Java ドライバ
|
JDBC 呼び出しを中間層サーバーに変換し、そのリクエストをデータベース固有のネイティブコネクティビティインターフェイスに変換します。
利点 : ベンダのデータベースライブラリをクライアントコンピュータに置く必要がありません。小さなサイズにすることも可能です (ロードが高速になります)。
欠点 : データベース固有のコードは中間層で実行する必要があります。
ColdFusion には、Microsoft Access データベースおよび ODBC データソースで使用する ODBC Socket Type 3 ドライバが含まれています。
|
4
|
Native-protocol/all-Java ドライバ
|
JDBC 呼び出しを、データベースが直接使用するネットワークプロトコルに変換します。
利点 : パフォーマンスが高速です。ColdFusion を実行するコンピュータに特別なソフトウェアをインストールする必要がありません。
欠点 : これらのプロトコルはメーカー独自のものが多く、データベースごとに異なるドライバが必要です。
ColdFusion には、多くの DBMS 用の Type 4 ドライバが含まれています。ただし、ColdFusion スタンダード版では一部の DBMS がサポートされません。
|
JDBC ドライバは JAR ファイルに格納されています。たとえば、ColdFusion に同梱されている JDBC ドライバは "_drivers.jar" ファイルに含まれています。その他の JDBC ドライバを使用する場合は、そのドライバを ColdFusion クラスパス内に格納する必要があります。たとえば、"<ColdFusion のルートディレクトリ>/cfusion/lib" (サーバー設定) または "<ColdFusion Web アプリケーションのルートディレクトリ>/WEB-INF/cfusion/lib" (マルチサーバー設定または J2EE 設定) に配置します。
同梱されているドライバ次の表に、ColdFusion に同梱されているデータベースドライバと、詳細情報の参照先を示します。
ColdFusion でサポートされるデータベースのバージョンについては、www.adobe.com/go/learn_cfu_cfsysreqs_jp を参照してください。
J2EE 設定で実行する場合は、JNDI データソースに接続するデータソースも ColdFusion Administrator で設定できます。JNDI (Java Naming and Directory Interface) データソースは ColdFusion データソースと同等ですが、J2EE アプリケーションサーバーを使用して定義する必要がある点が異なります。定義した後は、他のデータソースと同様に ColdFusion アプリケーションから使用できます。JNDI データソースの定義の詳細については、JNDI データソースへの接続を参照してください。
|
|
|
|
|