JDBCドライバーとは

JDBCドライバとは何かと言われたらデータベースとJavaを仲介するためのものだと考えればいい.パソコンなどでも周辺機器を接続するときにはドライバがいるのと同じようなものだと考えてくれてOKだ!JDBCというのは,Java言語の上でのAPI(メソッドなど)のことで,どんなRDBを使おうが,その記述は変わらないようになっている.RDBの側ではシステムが変わればAPIも違うわけだから,JDBCドライバはその両者を合わせる仲介役といえる.

JDBCドライバには Type 1 ~ 4の種類が存在している.

Type 1:JDBC-ODBC Bridge Driverとは?

JDBC-ODBC Bridge Driverとはまさにその名のとおり,JDBCとODBCを接続する役割をもつ.ODBCとは何かと言うと,様々なDBを共通のインタフェースで扱える ようにするマイクロソフトの規格で,標準化されているものだと考えて欲しい.JDBCはODBCの思想をマネしている...というか,JDBCっていうの がDBへの接続の全く新しい概念というわけではないことを理解しておいて欲しい.

ODBCは,AccessだろうがSQLサーバだろうが,Sybaseだろうが同じように扱うことができるインタフェースを持つ.つまり,ODBCを利用 することで普及している様々なDBに容易にアクセスできるわけだ.このタイプのデメリットとしては,Windowsネイティブのコードを含むため,アプ レットなどでは使えない点があるが,JDBCが出始めた頃は,ODBCを使うのが主流だった.今では,個々のDBに直接アクセスできるJavaで記述され たJDBCドライバが幾つか提供されているようだ.しかし,有償のものが結構ある.ドライバは下記のサイトで探せる.

Type2 :ネイティブAPI

デー タベースシステムのネイティブなAPIを呼ぶ、C言語でかかれたJavaのネイティブメソッドを使用して実装されています。その結果、タイプ2のドライバ はほかのプラットフォームに対してバイナリで移植できません。また、Webブラウザのセキュリティ上の制約によりJavaアプレットから呼び出すことはで きません。したがって、タイプ2のドライバはJavaアプリケーションから使う には適していますが、Javaアプレットから使うには適していません。

Type3:Netプロトコル、全Javaドライバ

タイプ 3 のドライバは、データベースシステムから独立したクライアント / サーバー通信用のネットワークプロトコルを用いた、PureJavaメソッドを使用して実装されています。タイプ 3 のドライバは、ほかのプラットフォームに対してバイナリで移植可能で、Javaアプレットから呼ぶことができ、さらに、クライアント / サーバーの環境で作動します。そのため、タイプ 3 のドライバはJavaアプレットから使うのに適しています。

Type4-ネイティブプロトコル、全Javaドライバ

タイプ 4 のドライバは、デーtベースシステムにネイティブなクライアント / サーバー通信用のネットワークプロトコルを用いた、PureJavaメソッドを使用して実装されています。タイプ4のドライバは、ほかのプラットフォーム に対してバイナリで移植可能で、Javaアプレットから呼ぶことができ、さらに、クライアント / サーバーの環境で作動します。そのため、タイプ4のドライバはJavaアプレットから使うのに適しています。

JDBCドライバ検索ページ (Sun Microsystems)

JDBCドライバタイプの説明