[目次] [前の項目] [次の項目]

JDBC-ODBC ブリッジドライバ

9.1 JDBC ドライバの取得

データベースベンダー、データベースミドルウェアベンダーなどのベンダーから商用の JDBC ドライバを取得することをお勧めします。 現在入手できるドライバの一覧を確認してください。

JDBC-ODBC ブリッジドライバは、試験用として、またはほかに代わりとなるドライバが利用できない場合にだけ使用することをお勧めします。

9.2 JDBC-ODBC ブリッジ

可能であれば、ブリッジや ODBC ドライバではなくて、Pure Java JDBC ドライバを使用してください。Pure Java JDBC ドライバを使用すると、ODBC が必要とするクライアント側の設定を実行しなくて済みます。また、ブリッジに付属するネイティブコード (たとえば、ブリッジネイティブライブラリ、ODBC ドライバマネージャライブラリ、ODBC ドライバライブラリ、およびデータベースクライアントライブラリ) の中のエラーによって Java VM が汚染される可能性もなくなります。

JDBC-ODBC ブリッジドライバは、プロトタイプの開発段階、および JDBC テクノロジをベースにしたドライバがほかに存在しない場合にだけ使用することをお勧めします。すべて Java で記述された商用の JDBC ドライバが利用できる場合は、ブリッジではなくそのドライバを使用することをお勧めします。

9.2.1 JDBC-ODBC ブリッジの概要

JDBC-ODBC ブリッジは、JDBC ドライバの一つです。このドライバは、JDBC オペレーションを ODBC オペレーションに翻訳することで JDBC オペレーションを実装します。ODBC には、このドライバが通常のアプリケーションプログラムとみなされます。このブリッジは、ODBC ドライバが使用可能なあらゆるデータベースに JDBC を実装しています。このブリッジは、sun.jdbc.odbc Java パッケージとして実装され、ODBC にアクセスするために使用されるネイティブライブラリが含まれています。このブリッジは、Merant と Java ソフトウェアで共同開発したものです。

9.2.2 ODBC との互換性およびサポートされている ODBC のバージョン

Solaris では、ODBC 3.x のドライバマネージャとともに JDBC 2.0 ブリッジを使う必要があります。このブリッジは ODBC 2.x と ODBC 3.x の両方のドライバをサポートしていますが、ODBC 3.x ドライバを使ったテストだけが行われています。

NT では、JDBC 2.0 ブリッジは、ODBC 2.x および ODBC 3.x の、ドライバマネージャおよびドライバをサポートしています。JDBC 2.0 ブリッジのテストは、ODBC 3.x のドライバマネージャを使用し、かつ、ODBC 2.x および 3.x のドライバを使用して行われています。

Merant は、バージョン 3.5 以上の Merant DataDirect ODBC ドライバとともに JDBC 2.0 ブリッジを使用することを推奨しています。

9.2.3 ブリッジの実装

このブリッジは、Java 言語で実装され、ODBC を呼び出すのに、 Java ネイティブメソッドを使用しています。

9.2.4 インストール

ブリッジは、パッケージ sun.jdbc.odbc として Java 2 SDK, Standard Edition とともに自動的にインストールされます。ODBC のインストールと設定についての詳細は、ODBC ドライバベンダーにお問い合わせください。ブリッジのための特別な設定は必要ありません。クライアントのインストールと設定についての詳細は、データベースベンダーにお問い合わせください。Solaris では、いくつかの ODBC ドライバマネージャで、そのライブラリが libodbcinst.so および libodbc.so と命名されています。このブリッジは、これらのライブラリが libodbcinst.so.1 および libodbc.so.1 と命名されていると想定しているので、これらの名前に対してシンボリックリンクを作成する必要があります。

9.3 ブリッジの使用

odbc サブプロトコルを使用する URL で JDBC 接続を開くことによって、ブリッジが使用されます。URL の例については以下を参照してください。接続が確立される前に、ブリッジドライバクラス sun.jdbc.odbc.JdbcOdbcDriver を、jdbc.drivers という名前の java.lang.System プロパティに追加しておくか、Java クラスローダを使用して明示的にロードしておく必要があります。明示的なロードは、次のコードによって行われます。

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ロードすると、ODBC ドライバは (すべての優れた JDBC ドライバと同様に)、それ自体のインスタンスを生成し、これを JDBC ドライバマネージャに登録します。

9.3.1 アプレットからのブリッジの使用

Pure Java JDBC ドライバで使用される JDBC は、アプレットとともに正常に動作します。ブリッジドライバはアプレットとともに正常に動作しません。

9.3.2 ほとんどのブラウザはブリッジをサポートしていない

ブリッジは Java 2 SDK, Standard Edition のオプションの構成要素なので、ブラウザによって提供されないこともあります。提供されていても、そのブリッジを使用することができるのは、信頼できるアプレット (ファイルに書き込むことができるアプレット) だけです。これは、アプレットサンドボックスのセキュリティを確保するために必要です。さらに、アプレットが信頼できても、ODBC と DBMS クライアントライブラリが各クライアント上で設定されている必要があります。

9.3.3 テスト済み構成

Solaris からは、Merant 社製 ODBC ドライバのバージョン 3.5 を使用し、ブリッジを使って Oracle 8.1.5 にアクセスしました。NT からは、Microsoft 社の最新の ODBC ドライバを使用し、ブリッジを使って SQL Server 6.x にアクセスしました。

9.3.4 ブリッジとともに動作することがわかっている ODBC

ODBC ドライバは、Oracle、Sybase、Informix、Microsoft SQL Server、および Ingres に対して使用可能です。MERANT ODBC ドライバスイートは、JDBC-ODBC ブリッジと完全な互換性があります。MERANT ODBC ドライバの評価または購入については、1-800-547-4000 のオプション 2、または WWW サイト http://www.merant.com 経由で MERANT DataDirect Sales に連絡してください。MS SQL Server ドライバもまた NT 上で正常に使用できました。ほかの多くの ODBC ドライバも同様に機能します。

9.3.5 ブリッジによってサポートされている JDBC の URL

ブリッジドライバは、odbc サブプロトコルを使用します。このサブプロトコルの URL は以下の形式をとります。

    jdbc:odbc:<data-source-name>[<attribute-name>=<attribute-value>]*
例:

    jdbc:odbc:sybase
    jdbc:odbc:mydb;UID=me;PWD=secret
    jdbc:odbc:ora123;Cachesize=300

9.3.6 デバッグ

ブリッジは、DriverManager のトレースが有効にされると、広範なトレースを行います。以下のコード例でトレースが有効にされ、結果は標準出力に出力されます。

     java.sql.DriverManager.setLogStream(java.lang.System.out);

9.4 ブリッジによってサポートされている JDBC 2.0 API の新しい機能

このリリースの JDBC-ODBC ブリッジドライバは、JDBC 2.0 API の次の新しい機能をサポートしています。

ブリッジの現在のリリースはマルチスレッドの ODBC ドライバをサポートしており、多数のバグが修正されています。


[目次] [前の項目] [次の項目]

jdbc@wombat.eng.sun.com または jdbc-odbc@wombat.eng.sun.com
Copyright © 1996- 1999 Sun Microsystems, Inc. All rights reserved.