• 締切済み

Androidから外部DBサーバーへ接続(MySQL)

現在、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) {     // エラー   } }

みんなの回答

noname#120325
noname#120325
回答No.1

エミュレーターってゆーのは、実機と同じ働きをするものですよー。携帯電話から、あなたのパソコンのMySQLに、サーバー名localhostでアクセスできますかー? そのMySQLは、外部に公開されてるんでしょーかー。 まあ、ふつーは、後悔されているWebサーバーに、データベースアクセスするプログラム(CGIとかPHPとか)を用意して、そこにHTTPでアクセスしてデータをもらってくると思いますよー。

kawasan_00
質問者

補足

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に接続できますでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A