JDBCドライバ 【JDBC driver】
概要
JDBCドライバ(JDBC driver)とは、Javaプログラムからデータベースにアクセスするための標準インターフェース(API)であるJDBCで、Javaプログラムとデータベースの橋渡しを行うソフトウェア。データベース管理システム(DBMS)の開発元が提供している。JDBC(Java Database Connectivity)はJavaプログラムからデータベース管理システム(DBMS)へアクセスする標準的な仕様を定義したもので、DBMSへ要求を発行してデータの照会・抽出や更新、削除などの操作を行えるようにする。DBMS製品ごとの仕様の違いを吸収し、様々なデータベースに同じ手順やプログラムでアクセスできるようになる。
JDBCドライバは個別のDBMS製品の制御手段を実装したプログラムで、Javaプログラムから受け取った要求をDBMSに伝達し、応答をプログラム側へ伝える橋渡しの役割を果たす。JavaからJDBCを介してDBMSへアクセスするには、必ずその製品に対応したJDBCドライバを入手して組み込む必要がある。
ドライバの種類
JDBCドライバは実装方式によりタイプ1からタイプ4の4種類に分類される。タイプ1は「JDBC-ODBCブリッジドライバ」と呼ばれる方式で、Windowsの標準データベースアクセス仕様であるODBCへ接続し、ODBC側でDBMSを操作する。Java 8で廃止されたため現在は利用できない。
タイプ2は「ネイティブブリッジドライバ」と呼ばれる方式で、Javaプログラムが動作しているコンピュータで直に動作するライブラリなどへアクセス要求を伝達し、ライブラリがDBMSと通信する。ネイティブコードの呼び出しが含まれるためJavaプログラムは当該機種、OSでしか動作しなくなる。
タイプ3は「ネットプロトコルドライバ」と呼ばれる方式で、ドライバがデータベース側のミドルウェアと通信し、ミドルウェアがDBMSにアクセスする。ドライバはJavaのみで実装され汎用性が高いが、中継サーバを挟むためシステム構成が複雑で、性能上の制約となることがある。
タイプ4は「ネイティブプロトコルドライバ」と呼ばれる方式で、Javaのみで実装されたドライバがDBMSと直接通信する。Javaのみで利用でき構成もシンプルだが、ドライバにデータベースアクセスの機能をすべて実装するためプログラムサイズは大きくなる。