Androidエミュレータから、ホストPCにある社内LANのデータベースに接続するのに
手間取ったのでメモ
・データベース:postgresql9.0
まず、エミュレータからホストPC内のpostgresは接続することはできた。
で、そのまま、ホスト名の部分を社内LANにあるDBサーバーのIPアドレスにしてみた所
DriverManager.getConnection(~ の行で
org.postgresql.util.PSQLException: The Connection attempt failed.
の例外が発生した。
ポート番号はデフォルトの5432で合っているし・・・
そういえばSQLServerでもTCP/IPを許可しないとだめだったなと思いだし、
postgresの設定を見て見る。
listen_addressは「*」となっていて、どこからの接続も許可してるみたい。
ここを細かく設定すれば、接続できるネットワークの制限が出来るのね。
次に、pg_hba.confを見て見る。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 md5
あれ?127.0.0.1って、ローカルだけしか許容してないぞ。 ということで
192.168.1.0/16 とかやってみる。
confをリロード後・・・ 無事エミュレータからつながった!
0 件のコメント:
コメントを投稿