- PR -

データベースに接続できません。

投稿者投稿内容
たか
会議室デビュー日: 2002/10/25
投稿数: 19
投稿日時: 2002-10-25 18:19
LinuxにApacheとTomcatとJDKを入れました。LANでつながっているWin2000に、MySQLを入れて、サービスで起動させています。この時、JSPでJDBCを使ってMySQLに繋ぎに行かせますが、設定方法が悪いのか、何が悪いのか・・・。
org.apache.jasper.JasperException: Cannot connect to MySQL server on SYSTEM:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
というメッセージが解決しません。LAN上のほかのWinNTなどからは、コマンドプロンプトでアクセスできます。説明不足かと思いますが、素人ですので宜しくお願い致します。
siggy
常連さん
会議室デビュー日: 2002/08/14
投稿数: 23
投稿日時: 2002-10-26 02:55
siggyと申します。

JSPファイルには、JDBCのコードをゴリゴリと書いているのでしょうか?
できればConnectionを取得するまでのソースの情報をいただければと。
ジェイ
ベテラン
会議室デビュー日: 2002/10/06
投稿数: 62
投稿日時: 2002-10-26 02:56
私も現在MySQLを使用して、業務アプリを作って小さいブースで使っていますが、
私の場合は全部localhostでやっています。
ちなみにJBDCドライバは何をつかっていますか?
DBへの接続部分のソースを公開できるようでしたら、公開したほうが解決が早いかもしれませんね。
たか
会議室デビュー日: 2002/10/25
投稿数: 19
投稿日時: 2002-10-26 13:20
遅くなってすみません。
書き込んで頂いてありがとうございます。
どのようなものを掲載すれば、わかりやすいのですか?
本当に素人で申し訳ありません。
 Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection conn;
conn = DriverManager.getConnection("jdbc:mysql://192.168.1.20/test");
Statement statement=conn.createStatement();
こんなふうになっています。
192.168.1.20はデータベースが乗っかっているマシンのIPアドレスです。
READMEなどを頑張って読みましたが(英語なので・・・)、よくわかりません。
MySQL側の問題なのでしょうか?
同じマシン(TomcatやApacheと)にMySQLを入れて、
IPの個所を「localhost」にしましたところ、問題なくつながりました。
データベースが大きくなってきた場合や、メンテナンス、その他の環境条件があり、
できれば別のマシンで・・・と思っています。
宜しくお願い致します。
ジェイ
ベテラン
会議室デビュー日: 2002/10/06
投稿数: 62
投稿日時: 2002-10-26 15:38
引用:

conn = DriverManager.getConnection("jdbc:mysql://192.168.1.20/test");



conn = DriverManager.getConnection("jdbc:mysql://192.168.1.20:3306/test");
にして、ポートを指定したらいきませんか?

たか
会議室デビュー日: 2002/10/25
投稿数: 19
投稿日時: 2002-10-26 18:03
はい、だめでした。
ポートはデフォルトのままなのですが・・・。
ほかに何か必要ですか?
言ってもらえたらUPしますので・・・。
宜しくお願いします。
ジェイ
ベテラン
会議室デビュー日: 2002/10/06
投稿数: 62
投稿日時: 2002-10-26 23:13
わすれてましたがユーザ名と、パスワードはどうですか?

conn = DriverManager.getConnection
      ("jdbc:mysql://localhost/test", "ユーザ名", "パスワード");
もしくは
conn = DriverManager.getConnection
      ("jdbc:mysql://localhost/test?user=ユーザ名?password=パスワード);

ってかんじですかね。
Taka(2)
会議室デビュー日: 2002/10/11
投稿数: 6
投稿日時: 2002-10-26 23:50
http://www.mysql.com/documentation/mysql/bychapter/manual_Problems.html#Can_not_connect_to_server
を詳しく追っていけば、分かるような気がするのですが...
(eXciteで翻訳 → http://www.excite.co.jp/world/url/ )

ちなみに、mysqldを--enable-named-pipe付きで実行してて、
netstat -anしても、3306ポートをLISTENしてない
とかっていうオチじゃないですよね?

スキルアップ/キャリアアップ(JOB@IT)