竹形様
はじめまして。popoと申します。
JavaでDBアクセスをした際のエラーについて教えて下さい。
(当方初学者で用語等正確でないものもあるかと思いますが、ご容赦下さい)
○問題箇所と内容
166ページ
java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused
となりDBアクセスができない。
ネットで調べて、javaのソースを以下のように変更し、実行したところ
正常にDBアクセスができた。
【変更前】jdbc:mysql://localhost/jamyto
【変更後】jdbc:mysql://172.0.0.1/jamyto
○教えていただきたいこと
@なぜ172.0.0.1だとうまくいくのでしょうか?
※ ちなみに当方のPCはVISTAです。
Aこの後のページに出てくるjavaも172.0.0.1に変更して、
問題ないでしょうか?
(仕組がさっぱりわかっていない人間の質問で恐縮ですが)
後々第6章でtomcatを使用してwebアプリを作成する箇所があるのですが、
172.0.0.1だと他の人に見られてしまうのでは・・・等が心配です・・・
情報が足りないかもしれませんが、よろしくお願いいたします。
はじめまして。popoと申します。
JavaでDBアクセスをした際のエラーについて教えて下さい。
(当方初学者で用語等正確でないものもあるかと思いますが、ご容赦下さい)
○問題箇所と内容
書籍
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門166ページ
事象
<jamyto>/JDBC/JdbcTest.javaを実行したところ、java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused
となりDBアクセスができない。
ネットで調べて、javaのソースを以下のように変更し、実行したところ
正常にDBアクセスができた。
【変更前】jdbc:mysql://localhost/jamyto
【変更後】jdbc:mysql://172.0.0.1/jamyto
○教えていただきたいこと
@なぜ172.0.0.1だとうまくいくのでしょうか?
※ ちなみに当方のPCはVISTAです。
Aこの後のページに出てくるjavaも172.0.0.1に変更して、
問題ないでしょうか?
(仕組がさっぱりわかっていない人間の質問で恐縮ですが)
後々第6章でtomcatを使用してwebアプリを作成する箇所があるのですが、
172.0.0.1だと他の人に見られてしまうのでは・・・等が心配です・・・
情報が足りないかもしれませんが、よろしくお願いいたします。
投稿:popo[javatake]/2009年 07月 19日 19時 20分
/更新:2009年 07月 19日 19時 22分
RE:<JDBC> ConnectExceptionについて
by 竹形 誠司[takegata]
竹形です。こんにちは、
一般に、localhost は、現在使用しているマシンを表す名前で、IPv4の
ループバックアドレス127.0.0.1 に対応付けられます。
この対応付けを行っているのが、hostsファイルで、Windows Vistaの場合は、
システムフォルダ(c:\Windowsなど)の下のSystem32\drivers\etcの下にあ
ります。
お問い合わせでは、172.0.0.1 でアクセスできるとありましたが、
これは確かでしょうか(127.0.0.1なら分かるのですが)。
コマンドラインから、ping localhost を実行してみてください。
これで応答が帰ってくれば正常ですが、応答が帰ってこない場合は、
上記のhostsファイルが壊れている可能性があります。
ただ、表示されるエラーメッセージが Connection refused なので
別の問題かも知れません。本当に localhost の部分が問題なのか
どうか、今一度確認してみていただけますか?
localhostのところを127.0.0.1にしても、これによって外から見られる
ようになるなどの問題はありません。ただ、ネットワークの設定によっ
ては、この設定に関わらず、外から見られるようになってしまうことが
あるので、その点は注意してください。
一般に、localhost は、現在使用しているマシンを表す名前で、IPv4の
ループバックアドレス127.0.0.1 に対応付けられます。
この対応付けを行っているのが、hostsファイルで、Windows Vistaの場合は、
システムフォルダ(c:\Windowsなど)の下のSystem32\drivers\etcの下にあ
ります。
お問い合わせでは、172.0.0.1 でアクセスできるとありましたが、
これは確かでしょうか(127.0.0.1なら分かるのですが)。
コマンドラインから、ping localhost を実行してみてください。
これで応答が帰ってくれば正常ですが、応答が帰ってこない場合は、
上記のhostsファイルが壊れている可能性があります。
ただ、表示されるエラーメッセージが Connection refused なので
別の問題かも知れません。本当に localhost の部分が問題なのか
どうか、今一度確認してみていただけますか?
localhostのところを127.0.0.1にしても、これによって外から見られる
ようになるなどの問題はありません。ただ、ネットワークの設定によっ
ては、この設定に関わらず、外から見られるようになってしまうことが
あるので、その点は注意してください。
投稿:竹形 誠司[takegata]/2009年 07月 20日 02時 43分
/更新:2009年 07月 20日 15時 54分