しばらく悩んでいた、Windows端末から
Linux端末にインストールしてあるPostgreSQLをJavaで操作する方法が ようやく分かったのでメモ。 まずはネットワーク環境を晒しておきます。 Windows:192.168.0.3 Linux:192.168.0.5 NETMASK:255.255.255.0 DefaultGateWay:192.168.0.1 さて、第8話でこんなことを言ってたのを覚えていらっしゃるでしょうか。 > また、tcpip_socketは存在すらしませんでした。 そうなんです。 PostgreSQL8.0からpostgresql.confのパラメータが大きく変化したらしく、 7.X系のインストール手順をそのまま踏襲出来る訳ではなかったのです。 8.X系ではtcpip_socketというパラメータはlisten_addressesに 置き換えられており、ここに外部ホストのIPアドレスを登録する必要があります。 今回の場合、DBへの参照を行うのは、Windows機とLinux機の2台のみ。 なので、この2台のIPアドレスを追加します。 # vi /usr/local/pgsql/data/postgresql.conf listen_addresses ='localhost,192.168.0.5' このパラメータのデフォルトはlocalhostですが、カンマ区切りでIPアドレスの追加が 出来ます。Unix系OSとしては当然*(ワイルドカード)も使用可能です。 そしてもう一つ。 同じディレクトリにある、pg_hba.confという設定ファイルの修正です。 こいつはホストベースの認証を制御しますが、 デフォルトではUNIXドメインソケットとローカルなTCP/IPソケット、 つまり自分自身からの接続しか許可していないため、 今回のようなLAN内から接続したい場合はIPアドレス帯域を追加してやる必要があります。 # vi /usr/local/pgsql/data/pg_hba.conf #IPv4 local connections: host all all 192.168.0.3/24 trust 以上でネットワーク接続の設定は完了。 PostgreSQL自身の設定値などもまだまだ変更の余地はあるみたいですが、 そちらについては追々やっていこうと思います。 さて、続いてはJavaからPostgreSQLへ接続する方法です。 当然の如くJDBCを使いますが、なかなか他ホストのDBへ接続する場合の 記述方法が見つからなかったので、Connectionの取得方法を書いておきます。 ちょっと分かりづらいかもしれませんが、あるクラスがコネクションを取得したい場合に 呼び出すメソッドです。 /** * Connection情報の取得を行います。 * @return Connection * @exception SQLException DB接続時のエラー */ public Connection createConnection() throws SQLException{ Connection connect = null; /* * JDBCドライバを宣言します。 * ドライバオブジェクトを生成し、ドライバを使用出来る状態にします。 */ try{ Class.forName("org.postgresql.Driver"); }catch(ClassNotFoundException ce){ ce.printStackTrace(); } /* * Connectionを取得します。 */ connect = DriverManager.getConnection ("jdbc:postgresql://192.168.0.5:5432/java_db" , "postgres" , ""); return connect; } 当然ながらIPアドレスとポート番号、dbnameは適宜変える必要はありますが、 概ねこんな感じかと。PostgreSQLはデフォルトでインストールした場合は ポート番号:5432を使用するので、変更してないときはポート番号は このままでOKです。 あともう一つの主役、JDBCDriverはこちらのサイトでダウンロード出来ます。 自分のPostgreSQLのバージョン、及びJDKのバージョンによって 取得するファイルが変わるのでご注意を。 JDK1.4.X+PostgreSQL8.0.Xの場合は、「8.0-310 JDBC 3」をダウンロードして下さい。 段々と環境が整ってきています。 けどやりたい事が多くてなかなか進みません。 新しい職場でやっていくのもなかなか大変ですし。。。 長い目で見守って頂けると幸いですm(__)m
by n_masa18
| 2005-03-19 02:45
|
以前の記事
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||