- - PR -
Postgresql JDBC接続失敗します
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-03-04 21:22
以下のコードで接続するところまで試しているのですが、url が 127.0.0.1 だと成功するものの、マシンのIPアドレスである 192.168.1.101 を指定すると getConnection で SQLException が発生してしまいます。
実行は postgresql が入っているマシンから行なっています。 postgresql の方は、postgres ユーザーで postmaster -S -i で起動しています。 psql guestbook でSQLの実行も確認できています。 何か調べた方がよさそうなところがあったら教えてください。 <pre> import java.sql.*; class jdbc { public static void main(String[] args) { Connection con = null; //OK// String url = "jdbc:postgresql://127.0.0.1:5432/guestbook"; //NG// String url = "jdbc:postgresql://192.168.1.101:5432/guestbook"; String user = "postgres"; String password = ""; try { Class.forName("org.postgresql.Driver"); con = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) { System.out.println("ClassNotFoundException"); return ; } catch (SQLException e) { System.out.println("SQLException"); return ; } } } </pre> |
|
投稿日時: 2002-03-04 22:58
katsumさんの書き込み (2002-03-04 21:22) より:
> 以下のコードで接続するところまで試しているのですが、url が 127.0.0.1 だと成功する > ものの、マシンのIPアドレスである 192.168.1.101 を指定すると getConnection で > SQLException が発生してしまいます。 Postgresをインストールしたディレクトリ内に、「pg_hba.conf」というファイルが なかったでしょうか?こちらのファイル内を使用して、 Postgres に接続可能な ホストの制御をおこなっているようですが、デフォルトでは、127.0.0.1 以外の接続を 許可していないはずです。 ですので、この場合、該当ファイルに使用しているホストのIPを記述することで問題は 解決するとおもいます。詳しいことは、ドキュメントなり、書籍にてご確認ください。 |
|
投稿日時: 2002-03-04 23:17
>せんさん
返信ありがとうございます。ちょうど自力でそこに辿りつき、以下の投稿をしようと思っていたところでした。 同じような状況になる方もいると思われますので、少し詳細に書いてあります。 ============================================================ $POSTGRESQL_HOME/data/pg_hba.conf の最下行に host all 192.168.1.0 255.255.255.0 trust と接続を許す行を追加し Postgresql を再起動したら解決しました。 Java(jdbc) ではなく Postgresql 側の設定でしたが、これは最初は引っかかりますね。 ちなみに以下の Postgresql 日本語マニュアルを参考にさせていただきました。 http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/ [PostgreSQL 7.1.3 管理者用ガイド][Chapter 4. クライアント認証] |
|
投稿日時: 2002-03-05 04:25
katsumさんの書き込み (2002-03-04 23:17) より:
> $POSTGRESQL_HOME/data/pg_hba.conf の最下行に > host all 192.168.1.0 255.255.255.0 trust 192.168.1.x を持つホスト全てから接続できるようになってますけど、 それは理解した上での設定ってことですよね? > と接続を許す行を追加し Postgresql を再起動したら解決しました。 > Java(jdbc) ではなく Postgresql 側の設定でしたが、これは最初は引っかかりますね。 すくなくとも、PostgreSQL完全後略ガイドをお読みになった方は そのようなことにはならないハズです。 |
1
