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

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 |
注意
- JDBCドライバーファイル
edb-jdbc15.jarが提供されなくなったため、JRE / JDKバージョン1.4および1.5はAdvanced Server JDBC Connectorでサポートされなくなりました。 -
edb-jdbc16.jarファイルは、PowerPC 64リトルエンディアン(ppc64le)およびDebian / Ubuntuプラットフォーム上のLinuxでは使用できません。 -
edb-jdbc17.jarファイルは、Debian / Ubuntuプラットフォームでは使用できません。 - コミュニティのバージョン番号は、PostgreSQLバージョンではなく、
pgjdbcバージョンに基づいています。 - Advanced Server JDBCリリースは、EDB Postgres Advanced Serverリリースと分離されています。
次のJDBC互換性ルールが適用されます。
- コミュニティWebサイトから:「PostgreSQL JDBCドライバーには、そのためのコードの開発を開始する前に知っておくべきいくつかの固有のプロパティがあります。現在の開発ドライバーは、6つのサーバーバージョンと6つのJava環境をサポートしています。これは、すべての機能がすべての組み合わせで機能しなければならないという意味ではありませんが、サポートされていないバージョンでは合理的な動作を提供する必要があります。この追加の互換性は多くの作業のように聞こえますが、実際の目標は、1つのコードベースのみを維持することで作業量を削減することです。」
-
pgjdbcreadmeファイルから:「PgJDBC回帰テストは、「git masterからPostgreSQLをビルドする」バージョンを含む、8.4以降のすべてのPostgreSQLバージョンに対して実行されます。 pgjdbc 9.4.xはPostgreSQL 9.4とのみ互換性があると想定しないでください。」
サポートされているコミュニティバージョンについては、 PostgreSQL JDBC Driver Webサイトを参照してください。

