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クラスの関係¶
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¶
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 |
注釈
JDBCドライバーファイル
edb-jdbc15.jarが提供されなくなったため、JRE/JDKバージョン1.4および1.5はAdvancedServerJDBCConnectorでサポートされなくなりました。edb-jdbc16.jarファイルは、PowerPC64リトルエンディアン(ppc64le)上のLinux、Debian/Ubuntu、およびRHEL8プラットフォームでは利用できません。edb-jdbc17.jarファイルはDebian/UbuntuおよびRHEL8プラットフォームでは利用できません。コミュニティのバージョン番号は、PostgreSQLバージョンではなく、
pgjdbcバージョンに基づいています。AdvancedServerJDBCリリースは、EDBPostgresAdvancedServerリリースと分離されています。
次のJDBC互換性ルールが適用されます。
コミュニティWebサイトから:``PostgreSQLJDBCドライバーには、そのためのコードの開発を開始する前に知っておくべきいくつかの固有のプロパティがあります。現在の開発ドライバーは、6つのサーバーバージョンと6つのJava環境をサポートしています。これは、すべての機能がすべての組み合わせで機能する必要があることを意味するものではありませんが、サポートされていないバージョンでは合理的な動作を提供する必要があります。この追加の互換性は多くの作業のように思えますが、実際の目標は、1つのコードベースのみを維持することで作業量を削減することです。
From the
pgjdbcreadme 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>`_``を参照してください。