第二章.JDBC駆動設定

2204 ワード

ドライバの取得
PostgreSQL JDBCサイトからプリコンパイルバージョンドライバをダウンロードできます.
また、構築ドライバをソースコードからコンパイルすることもできます.ソースコードを変更する必要がある場合は、このステップが必要です.JDBCドライバを構築するには、Ant 1.5+とJDKが必要です.AntはJavaベースのパッケージを構築する特殊なツールです.Ant web siteからダウンロードできます.
複数のJavaコンパイラがインストールされている場合は、Ant構成で使用されているコンパイラに依存します.事前コンパイルされたAnt配布バージョンでは、一般的に.antrcファイルが読み込まれます.このファイルは、ユーザーホームディレクトリの下でAntを構成するために使用されます.たとえば、デフォルト以外のJDKを使用すると、次のことができます.
JAVA_HOME=/usr/local/jdk1.6.0_07
JAVACMD=$JAVA_HOME/bin/java

ドライバをコンパイルするには、トップディレクトリでantを簡単に実行します.コンパイルが完了したドライバはjars/postgresql.jarにあります.コンパイルが完了したドライバは、現在実行されているJavaバージョンに基づいて構築されます.1.4または1.5 JDKコンストラクションドライバを使用する場合、このバージョンではJDBC 3仕様がサポートされます.1.6以降のJDKを使用してドライバを構築する場合は、JDBC 4仕様に合致します.
Class Pathの設定
ドライバを使用するには、ソースコードからpostgresql.jarファイルを構築できます.そうしないと、class path(名前付き:postgresql-[server version].[build number].jdbc[JDBC version].jar(postgresql-8.0-31.0 jdbc 3.jarなど)に配置する必要があります.CLASSSPATH環境変数に配置するか、Javaコマンドラインでflagsを使用することができます.
たとえば、/usr/local/lib/myapp.jarにインストールされたJDBCドライバを使用してデータベースにアクセスするアプリケーションがあるとします.PostgreSQL JDBCドライバは/usr/local/pgsql/share/java/postgresql.jarにインストールされます.アプリケーションを実行するには、次のコマンドを使用します.
export CLASSPATH=/usr/local/lib/myapp.jar:/usr/local/pgsql/share/java/postgresql.jar:.
java MyApp

アプリケーションからドライバをロードする内容は第3章を見て、ドライバを初期化します
JDBC用データベースサーバの準備
Javaはunix socketsの使用をサポートしていないため、PostgreSQLサーバは構成によってTCP/IP接続をサポートする必要があります.バージョン8.0からTCP/IPはlocalhostからの接続を許可します.ループバックインタフェースではなく他のインタフェースに接続できるようにpostgresql.confファイルのlisten_を変更する必要があります.addressフィールドの設定.
サーババージョンが8.0より高い場合は、デフォルトのリスニングポートはありません.postgresql.confファイルでtcpip_を自分で設定する必要があります.socket=true.
サーバが正しいTCP/IP接続を傍受した後、次のステップは、ユーザがサーバへの接続を許可されていることを確認することです.クライアント認証はpg_hba.confファイルで設定します.詳細はPostgreSQLドキュメントで確認できます.JDBCドライバはtrust,password,md 5およびcryptライセンスメソッドをサポートします.
データベースの作成
データベースの作成が完了し、JDBCを使用してアクセスできる場合は、データの適切な符号化を選択する必要があります.他の多くのユーザー・エンド・インタフェースは、送信および受信時のデータに関心を持っていません.このような動作は、あなたの操作が正しくない可能性がありますが、Javaはあなたのデータが適切な符号化を通過することを保証します.データベースのSQL_を使用しないASCIIの符号化方式.これは符号化タイプではなく、データを格納する際に多くの問題が発生します.例えば、格納したデータはASCIIの7ビット符号化方式を満たしていません.必要な符号化文字セットがどれなのか分からない場合や、何を格納するか分からない場合は、デフォルトのUNICOD符号化方式を採用することができます.