AdvancedServerJDBCConnectorOverview

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

JDBCドライバーのタイプ

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

タイプ1ドライバー

  • このドライバータイプはJDBC-ODBCブリッジです。

  • ローカルでの実行に制限されています。

  • ODBCがコンピューターにインストールされている必要があります。

  • 特定のデータベース用のODBCドライバーがコンピューターにインストールされている必要があります。

  • 通常、ネイティブメソッド呼び出しのためにアプレット内で実行することはできません。

タイプ2ドライバー

  • これは、ネイティブデータベースライブラリドライバーです。

  • コンピューター上のネイティブデータベースライブラリを使用してデータベースにアクセスします。

  • 通常、ネイティブメソッド呼び出しのためにアプレット内で実行することはできません。

  • クライアントにデータベースライブラリがインストールされている必要があります。

タイプ3ドライバー

  • 100%Javaドライバー、ネイティブメソッドなし。

  • クライアントに事前インストールする必要はありません。

  • Javaクラスファイルと同じように、ダウンロードしてすぐに設定できます。

  • ミドルウェアサーバーとの通信に独自のプロトコルを使用します。

  • ミドルウェアサーバーは、独自の呼び出しからDBMS固有の呼び出しに変換します

タイプ4ドライバー

  • 100%Javaドライバー、ネイティブメソッドなし。

  • クライアントに事前インストールする必要はありません。

  • Javaクラスファイルと同じように、ダウンロードしてすぐに設定できます。

  • タイプIIIドライバーとは異なり、DBMSサーバーと直接通信します。

  • JDBC呼び出しをデータベース固有の呼び出しに直接変換します。

JDBCインターフェース

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

JDBC Class Relationships

JDBCクラスの関係

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

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

Core Classes and Interfaces

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

JDBCDriverManager

The figure below depicts the role of the DriverManager class in a typical JDBC application. The DriverManager acts as the bridge between a Java application and the backend database and determines which JDBC driver to use for the target database.

DriverManager/Drivers

DriverManager/Drivers

AdvancedServerJDBCコネクタの互換性

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

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

JRE/JDKバージョン

JDBC仕様

AdvancedServerJDBCドライバー

コミュニティ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.9.jre6.jar

1.7

4.1

edb-jdbc17.jar

postgresql-42.2.9.jre7.jar

1.8

4.2

edb-jdbc18.jar

postgresql-42.2.9.jar

注釈

  1. JDBCドライバーファイル edb-jdbc15.jar が提供されなくなったため、JRE/JDKバージョン1.4および1.5はAdvancedServerJDBCConnectorでサポートされなくなりました。

  2. edb-jdbc16.jar ファイルは、PowerPC64リトルエンディアン(ppc64le)上のLinux、Debian/Ubuntu、およびRHEL8プラットフォームでは利用できません。

  3. edb-jdbc17.jar ファイルはDebian/UbuntuおよびRHEL8プラットフォームでは利用できません。

  4. コミュニティのバージョン番号は、PostgreSQLバージョンではなく、 pgjdbc バージョンに基づいています。

  5. AdvancedServerJDBCリリースは、EDBPostgresAdvancedServerリリースと分離されています。

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

  • コミュニティWebサイトから:``PostgreSQLJDBCドライバーには、そのためのコードの開発を開始する前に知っておくべきいくつかの固有のプロパティがあります。現在の開発ドライバーは、6つのサーバーバージョンと6つのJava環境をサポートしています。これは、すべての機能がすべての組み合わせで機能する必要があることを意味するものではありませんが、サポートされていないバージョンでは合理的な動作を提供する必要があります。この追加の互換性は多くの作業のように思えますが、実際の目標は、1つのコードベースのみを維持することで作業量を削減することです。

  • From the pgjdbc readme file: “PgJDBC regression tests are run against all PostgreSQL versions since 8.4, including “build PostgreSQL from git master” version. Don't assume pgjdbc 9.4.x is only PostgreSQL 9.4 compatible.”

サポートされているコミュニティバージョンについては、``PostgreSQLJDBCDriverWebサイト<https://jdbc.postgresql.org/download.html>`_``を参照してください。