プロが教える店舗&オフィスのセキュリティ対策術

現在、Androidのアプリで、ボタンを押下したらWindows上のMySQLサーバーに接続し、データを取得しようとしています。
しかし、どうしてもDBサーバーに接続できません。
Exceptionに飛んでしまいます。
どなたかご教授ください><;

【環境】
・Windows Vista Home Premium
・eclipse 3.5上でAndroidをエミュレーション
・MySQL 5.1を使用
・JDBCドライバは5.1を使用
 プロジェクトの構成パスにJDBCを追加

【ソースコード(接続部分のみ)】
import java.sql.*;
(中略)

public void onClick(Veiw v) {
  try {
    Class.forName("com.mysql.jdbc.Driver);
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost; DatabaseName=DBName;", "user", "pass");
    Statement stmt = conn.createStatement();
    (中略)
  } catch (Exception ex) {
    // エラー
  }
}

A 回答 (1件)

エミュレーターってゆーのは、実機と同じ働きをするものですよー。

携帯電話から、あなたのパソコンのMySQLに、サーバー名localhostでアクセスできますかー? そのMySQLは、外部に公開されてるんでしょーかー。

まあ、ふつーは、後悔されているWebサーバーに、データベースアクセスするプログラム(CGIとかPHPとか)を用意して、そこにHTTPでアクセスしてデータをもらってくると思いますよー。

この回答への補足

violiniさん、回答ありがとうございます!

仰るとおり、携帯電話からlocalhostでアクセスすることはできませんね^^;
なので、自分のPCのプライベートIPアドレスを入れてみたり、
10.0.2.2(androidのエミュレータの仕様で、ホストPCに接続するときのIPアドレスらしいです)に変えてみたりしましたが、
デバッグ時に「DriverManager.getConnection()」の部分で「ソースが見つかりません」と表示されてしまい、接続できていないようです。
ドライバには「mysql-connector-java-5.1.10-bin.jar」ファイルを使用しています。
jarファイルの中にclassがないのか、MySQLに接続できていないのか。。

また、現在はローカルでMySQLに接続を確認している最中なので、
MySQLは外部に公開していません。

どのようにすればMySQLに接続できますでしょうか?

補足日時:2009/12/21 11:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!