Advanced Server JDBCコネクタの概要

Sun Microsystemsは、JavaアプリケーションをJava Database Connectivity(JDBC)と呼ばれるデータベースに接続するための標準化されたインターフェースを作成しました。 Advanced Server JDBCコネクタは、JavaアプリケーションをPostgresデータベースに接続します。

JDBCドライバーの種類

現在、4種類のJDBCドライバーがあり、それぞれ固有の実装、使用、制限があります。 Advanced Server JDBCコネクターは、タイプ4ドライバーです。

タイプ1ドライバー

  • このドライバータイプはJDBC-ODBCブリッジです。
  • ローカルでの実行に制限されています。
  • ODBCがコンピューターにインストールされている必要があります。
  • 特定のデータベース用のODBCドライバーがコンピューターにインストールされている必要があります。
  • 通常、ネイティブメソッド呼び出しのためにアプレット内で実行することはできません。

タイプ2ドライバー

  • これは、ネイティブデータベースライブラリドライバーです。
  • コンピューター上のネイティブデータベースライブラリを使用してデータベースにアクセスします。
  • 通常、ネイティブメソッド呼び出しのためにアプレット内で実行することはできません。
  • クライアントにデータベースライブラリがインストールされている必要があります。

タイプ3ドライバー

  • 100%Javaドライバー、ネイティブメソッドなし。
  • クライアントに事前インストールする必要はありません。
  • Javaクラスファイルと同じように、ダウンロードしてすぐに設定できます。
  • ミドルウェアサーバーとの通信に独自のプロトコルを使用します。
  • ミドルウェアサーバーは、独自の呼び出しからDBMS固有の呼び出しに変換します

タイプ4ドライバー

  • 100%Javaドライバー、ネイティブメソッドなし。
  • クライアントに事前インストールする必要はありません。
  • Javaクラスファイルと同じように、ダウンロードしてすぐに設定できます。
  • タイプIIIドライバーとは異なり、DBMSサーバーと直接通信します。
  • JDBC呼び出しをデータベース固有の呼び出しに直接変換します。

JDBCインターフェース

次の図は、JDBC仕様のコアAPIインターフェースとそれらの相互関係を示しています。これらのインターフェースはjava.sqlパッケージに実装されていjava.sql 。

JDBCクラスの関係

JDBCクラスの関係

JDBCクラスとインターフェース

コアAPIはクラスとインターフェースで構成されています。これらのクラスとインターフェイスは、次のように連携して機能します。

コアクラスとインターフェイス

コアクラスとインターフェイス

JDBCのDriverManager

次の図は、一般的なJDBCアプリケーションでのDriverManagerクラスの役割を示しています。 DriverManagerは、Javaアプリケーションとバックエンドデータベース間のブリッジとして機能し、ターゲットデータベースに使用するJDBCドライバーを決定します。

DriverManager /ドライバー

DriverManager /ドライバー

Advanced Server JDBCコネクタの互換性

EDBは、Java仮想マシンの各バージョンに適切なJDBCドライバーを提供することにより、複数のJRE / JDKバージョンのサポートを提供します。次の表を使用して、JRE / JDKバージョンとAdvanced Server Driverの互換性を確認してください。

表–高度なサーバーJDBCドライバーの互換性

JRE / JDKバージョン JDBC仕様 Advanced Server JDBCドライバーコミュニティJDBCドライバー
1.4、1.5(注1を参照) 3 edb-jdbc15.jar postgresql-9.3.1103.JDBC3.jar
1.6(注2を参照) 4 edb-jdbc16.jar postgresql-42.2.8.jre6.jar
1.7 4.1 edb-jdbc17.jar postgresql-42.2.8.jre7.jar
1.8 4.2 edb-jdbc18.jar postgresql-42.2.8.jar

注意

  1. JDBCドライバーファイルedb-jdbc15.jarが提供されなくなったため、JRE / JDKバージョン1.4および1.5はAdvanced Server JDBC Connectorでサポートされなくなりました。
  2. edb-jdbc16.jarファイルは、PowerPC 64リトルエンディアン(ppc64le)およびDebian / Ubuntuプラットフォーム上のLinuxでは使用できません。
  3. edb-jdbc17.jarファイルは、Debian / Ubuntuプラットフォームでは使用できません。
  4. コミュニティのバージョン番号は、PostgreSQLバージョンではなく、 pgjdbcバージョンに基づいています。
  5. Advanced Server JDBCリリースは、EDB Postgres Advanced Serverリリースと分離されています。

次のJDBC互換性ルールが適用されます。

  • コミュニティWebサイトから:「PostgreSQL JDBCドライバーには、そのためのコードの開発を開始する前に知っておくべきいくつかの固有のプロパティがあります。現在の開発ドライバーは、6つのサーバーバージョンと6つのJava環境をサポートしています。これは、すべての機能がすべての組み合わせで機能しなければならないという意味ではありませんが、サポートされていないバージョンでは合理的な動作を提供する必要があります。この追加の互換性は多くの作業のように聞こえますが、実際の目標は、1つのコードベースのみを維持することで作業量を削減することです。」
  • pgjdbc readmeファイルから:「PgJDBC回帰テストは、「git masterからPostgreSQLをビルドする」バージョンを含む、8.4以降のすべてのPostgreSQLバージョンに対して実行されます。 pgjdbc 9.4.xはPostgreSQL 9.4とのみ互換性があると想定しないでください。」

サポートされているコミュニティバージョンについては、 PostgreSQL JDBC Driver Webサイトを参照してください。