2011-06-19 16 views
0

なぜ、JDBCタイプ1(JDBC-ODBCブリッジドライバ)およびタイプ2ドライバをWebアプリケーション開発に使用できないのですか。JDBCドライバタイプ1および2

これらの2つのドライバには、クライアント側のインストールが必要です。

私はクライアントについて混乱しています。なぜなら、私たちがサーバーにすべてのドライバ固有のものをインストールすると、クライアントに必要な余分なものがあるからです。

答えて

2

タイプI JDBC-ODBCブリッジドライバは、本番アプリケーションには推奨されません。これはJava 1.0の成果物であり、開発のためにODBC経由での直接的な相互接続を可能にしました。

タイプII JDBCドライバでは、動作するためにネイティブコードが必要です。特定のリレーショナル・データベースにクライアント側のネイティブ・ライブラリーを使用します。 LD_LIBRARY_PATHまたは他の環境変数を使用してこれらのライブラリを指すことができる必要があります。

クライアントインストールが不要な100%純粋なJavaであるタイプIV JDBCドライバが必要です。必要なのは、CLASSPATH内のJARファイルだけです。

+0

タイプ4は、可能な限りタイプドライバです。 –

2

なぜ私たちはWebアプリケーション開発用にJDBCタイプ1(JDBC-ODBCブリッジドライバ)とタイプ2ドライバを使用できないのですか?

タイプ1と2のドライバをWebアプリケーションで使用することを防ぐには何もありません。ただし、推奨されません(3番目の段落を参照)。

タイプ1とタイプ2の両方のドライバは、プラットフォーム間で移植できません。一見するとこれは問題ではないかもしれませんが、最も確かにそうです。特に、単体テストが1つのプラットフォームで実行され、受け入れテスト環境と本番環境が別のものである場合は、ある環境で成功すると思われるコードは、別の環境で失敗する可能性があります。

しかし、Webアプリケーションで使用されていない最も重要な理由は、ネイティブコードの存在です。 ネイティブコードで特定のエラーが発生すると、JVMがクラッシュする可能性があります。、それは普遍的に嫌われているものです。結局のところ、アプリケーションの残りの部分に影響を与えることなく、タイプ4ドライバが接続を単に切断し、障害後にクリーンアップすることができる不要なダウンタイムが発生します。

クライアント側の設定に関しては、通常、クライアント側のインストールは使用されるドライバの種類によって異なります。タイプ1ドライバは実際にはODBCのような別のデータベースAPIをラップするので、対応するODBCドライバも同様にセットアップする必要があります。タイプ2ドライバでは、DLLまたは共有オブジェクトがjava.library.pathに存在する必要があります。通常、これはPATHまたはLD_LIBRARY_PATH環境変数を設定することによって行われます。

関連する問題