外部のMySQLサーバーへ接続できない。。。

2,968 views
Skip to first unread message

川島崇

unread,
Dec 16, 2009, 7:04:39 AM12/16/09
to android-g...@googlegroups.com
現在、Androidのアプリで、ボタンを押下したらWindows上のMySQLサーバーに接続し、データを取得しようとしています。
しかし、どうしてもDBサーバーに接続できません。
Exceptionに飛んでしまいます。
どなたかご教授ください><;

【環境】
・Windows Vista Home Premium
・eclipse 3.5上でAndroidをエミュレーション
・MySQL 5.1を使用
・JDBCドライバは5.1を使用
 プロジェクトの構成パスにjarファイル(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) {
    // エラー
  }
}

Akio Kondo

unread,
Dec 16, 2009, 7:16:49 AM12/16/09
to android-g...@googlegroups.com

こんどうです

全貌がみえないのでなんともいえないところですが、
まずは接続先がlocalhostになっているのが問題だとおもいます

localhostの代わりにWindowsのLAN上のIPアドレスをいれてみてください

--

このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

川島崇

unread,
Dec 16, 2009, 8:20:45 PM12/16/09
to android-g...@googlegroups.com
返信ありがとうございます!
 
> localhostの代わりにWindowsのLAN上のIPアドレスをいれてみてください
接続先をlocalhostにして実行したのですが、同じようにExceptionに飛んでしまいました・・・
Exceptionの値を確認したところ、
「No suitable Driver」
となっておりました。
ドライバを読み込めないときに出るエラーとのことですが、
構成パスにドライバを追加しているのにどうしてでるのでしょう・・?
 


 
2009年12月16日21:16 Akio Kondo <koj...@gmail.com>:

Keiji Ariyama

unread,
Dec 16, 2009, 8:30:38 PM12/16/09
to android-g...@googlegroups.com
有山@大阪です。

 それ以前に、AndroidってJDBC使えましたっけ。

 Class.forName();でアクセスするには、確か、ファイルシステム上のアクセス
可能な場所に.jarを置かなければならないのですが、Androidの場合、それが出
来るかは分かりません。

 標準的なライブラリ(maps等)であれば可能なのですが、アプリケーションレベ
ルでの追加は難しかったと記憶しています。

/*********************************************
有限会社シーリス
代表 有山 圭二
@Address
〒530-0044
大阪市北区東天満二丁目2番5号
第2新興ビル 601
@Web http://www.c-lis.co.jp
*********************************************/

川島崇 wrote:
> 返信ありがとうございます!
>
> > localhostの代わりにWindowsのLAN上のIPアドレスをいれてみてください
> 接続先をlocalhostにして実行したのですが、同じようにExceptionに飛んでしま

> いました・・・
> Exceptionの値を確認したところ、
> 「No suitable Driver」
> となっておりました。
> ドライバを読み込めないときに出るエラーとのことですが、
> 構成パスにドライバを追加しているのにどうしてでるのでしょう・・?
>
>
>
>
> 2009年12月16日21:16 Akio Kondo <koj...@gmail.com

> <mailto:koj...@gmail.com>>:


>
> こんどうです
>
> 全貌がみえないのでなんともいえないところですが、
> まずは接続先がlocalhostになっているのが問題だとおもいます
>
> localhostの代わりにWindowsのLAN上のIPアドレスをいれてみてください
>
>> On 2009 12 16 21:06, "川島崇" <kawas...@gmail.com

>> <mailto:kawas...@gmail.com>> wrote:
>>
>> 現在、Androidのアプリで、ボタンを押下したらWindows上のMySQLサー

>> <mailto:android-g...@googlegroups.com> にメールを送信してく
>> ださい。
>> このグループから退会するには、android-group-japan+
>> unsub...@googlegroups.com
>> <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメー
>> ルを送信してください。
>> 詳細については、http://groups.google.com/group/android-group-


>> japan?hl=ja からこのグループにアクセスしてください。
>
> --
>
> このメールは Google グループのグループ「日本Androidの会」の登録者に
> 送られています。
> このグループに投稿するには、android-g...@googlegroups.com

> <mailto:android-g...@googlegroups.com> にメールを送信してくだ
> さい。
> このグループから退会するには、android-group-japan+
> unsub...@googlegroups.com
> <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメール
> を送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?


> hl=ja からこのグループにアクセスしてください。
>
>
> --
>
> このメールは Google グループのグループ「日本Androidの会」の登録者に送ら
> れています。
> このグループに投稿するには、android-g...@googlegroups.com にメー
> ルを送信してください。

> このグループから退会するには、android-group-japan+
> unsub...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。

mokkouyou

unread,
Dec 16, 2009, 8:48:23 PM12/16/09
to 日本Androidの会
mokkouyouです。

jarを”eclipseのプロジェクトの”構成に入れても、エミュレータやらには関係ないと思います。

androidのアプリで利用したいjarに関しては、プロジェクトのルートにlibsを作ってそこにに配置してみてください。
※フォルダのアイコンがassetsなどのようにプラグインが認識してくれているであろうアイコンになると思います。


それと、ローカルホストに変えるではなく、ipに変えるといった指摘をこんどうさんはされていると思われますが・・・

On 12月17日, 午前10:30, Keiji Ariyama <keiji_ariy...@c-lis.co.jp> wrote:
> 有山@大阪です。
>
>  それ以前に、AndroidってJDBC使えましたっけ。
>
>  Class.forName();でアクセスするには、確か、ファイルシステム上のアクセス
> 可能な場所に.jarを置かなければならないのですが、Androidの場合、それが出
> 来るかは分かりません。
>
>  標準的なライブラリ(maps等)であれば可能なのですが、アプリケーションレベ
> ルでの追加は難しかったと記憶しています。
>
> /*********************************************
> 有限会社シーリス
> 代表 有山 圭二
> @Address
> 〒530-0044
> 大阪市北区東天満二丁目2番5号
> 第2新興ビル 601

> @Webhttp://www.c-lis.co.jp


> *********************************************/
>
>
>
> 川島崇 wrote:
> > 返信ありがとうございます!
>
> > > localhostの代わりにWindowsのLAN上のIPアドレスをいれてみてください
> > 接続先をlocalhostにして実行したのですが、同じようにExceptionに飛んでしま
> > いました・・・
> > Exceptionの値を確認したところ、
> > 「No suitable Driver」
> > となっておりました。
> > ドライバを読み込めないときに出るエラーとのことですが、
> > 構成パスにドライバを追加しているのにどうしてでるのでしょう・・?
>

> > 2009年12月16日21:16 Akio Kondo <koji...@gmail.com
> > <mailto:koji...@gmail.com>>:
>
> > こんどうです
>
> > 全貌がみえないのでなんともいえないところですが、
> > まずは接続先がlocalhostになっているのが問題だとおもいます
>
> > localhostの代わりにWindowsのLAN上のIPアドレスをいれてみてください
>
> >> On 2009 12 16 21:06, "川島崇" <kawasan....@gmail.com

mokkouyou

unread,
Dec 16, 2009, 9:09:39 PM12/16/09
to 日本Androidの会
mokkouyouです。

補足ですが、
eclipseのビルドパスに加える事自体は不要ではありません。
わかりにくくてすいません。

ただ、jarを放り込むと、
なんだか色々警告が表示されて気持ち悪かった記憶があります。

kawasan

unread,
Dec 17, 2009, 8:53:21 PM12/17/09
to android-g...@googlegroups.com
質問者の川島です。
名前を「kawasan」に変えました。
 
返信ありがとうございます!

> androidのアプリで利用したいjarに関しては、プロジェクトのルートにlibsを作ってそこにに配置してみてください。
> ※フォルダのアイコンがassetsなどのようにプラグインが認識してくれているであろうアイコンになると思います。
 
これは、「プロジェクトに新しくlibsというフォルダを作成して、その中にjarファイルを置く」という意味でしょうか?
それともそれ以外の意味でしょうか?
プログラミング初心者なので、四苦八苦です^^;
ちなみに、前者は試してみました。
すると、ダイアログボックスが以下のエラーが出ました。。
「failed to load main-class manifest attribute from jar」
どうしたものか・・・
 
 
> それと、ローカルホストに変えるではなく、ipに変えるといった指摘をこんどうさんはされていると思われますが・・・
 
申し訳ないです。私の記載間違いです。
localhostではなく、PCのIPアドレス(プライベートアドレス)に変えていました。
それでも結果は同じくExceptionに飛んでしまいます。。
 
 
どのようにしたら解決できるのでしょう?

 
2009年12月17日11:09 mokkouyou <mokk...@gmail.com>:
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。



mokkouyou

unread,
Dec 17, 2009, 10:18:21 PM12/17/09
to 日本Androidの会
mokkouyouです

色々試行錯誤されているのは読み取れるのですが、
まず、何を解決したいのか?等々含めて切り分けていかないとなんともいえません。


まず、ドライバが見つからない件に関しては
libsを作成して、そこにjarを配置したとの事ですのでこれはこれでよいと思われます。
個々に入れておくことで、一緒に転送されますので。


で、この方式をとった場合にはドライバが見つからないエラーではなく、


failed to load main-class manifest attribute from jar


なんですよね?
これってメッセージ等からしても、
java -jar ・・・・
のようにして実行可能jarファイルを実行しようとした際のエラーなんですけど(普通は)


思いつく限りですと、
1)上記OSコマンドの実行を外部プロセスとしてしようとしている箇所がある(まったく関係ない箇所)
2)入れているjarがおかしい
3)Androidがjarの読み込みで変な事している


実際に、このエラーが起こるとしても、少なくともjarの存在は解決しているので一歩前進しているかと思います。
そもそもこのエラーがJDBC接続をしようとしているところで本当に起こっていますか?(1)の疑い。
ダイアログが表示となっていますので、違うところで起こっているんじゃないか?と思われます。


3)は無いだろうなぁと思いつつも、これやられてしまうとどうにもならないし、プログラムの問題ではないので、
mysql-connector-java-5.1.10-bin.jar
を使って、クラスローディングのところまでは問題ないのを確認しました。mysql環境は無いので実際にはつないでいませんけど。


逆にここまでは確認できて初めて、”繋がらない”という問題かと思います。
現状は環境が作れていないという段階だと思うのですが・・・・

またドライバに関してもどのjarを入れているのか?
他にjarを入れてないのか?なども情報としては提示した方がいいと思います。

On 12月18日, 午前10:53, kawasan <kawasan....@gmail.com> wrote:
> 質問者の川島です。
> 名前を「kawasan」に変えました。
>
> 返信ありがとうございます!
>
> > androidのアプリで利用したいjarに関しては、プロジェクトのルートにlibsを作ってそこにに配置してみてください。
> > ※フォルダのアイコンがassetsなどのようにプラグインが認識してくれているであろうアイコンになると思います。
>
> これは、「プロジェクトに新しくlibsというフォルダを作成して、その中にjarファイルを置く」という意味でしょうか?
> それともそれ以外の意味でしょうか?
> プログラミング初心者なので、四苦八苦です^^;
> ちなみに、前者は試してみました。
> すると、ダイアログボックスが以下のエラーが出ました。。
> 「failed to load main-class manifest attribute from jar」
> どうしたものか・・・
>
> > それと、ローカルホストに変えるではなく、ipに変えるといった指摘をこんどうさんはされていると思われますが・・・
>
> 申し訳ないです。私の記載間違いです。
> localhostではなく、PCのIPアドレス(プライベートアドレス)に変えていました。
> それでも結果は同じくExceptionに飛んでしまいます。。
>
> どのようにしたら解決できるのでしょう?
>

> 2009年12月17日11:09 mokkouyou <mokkou...@gmail.com>:

> > > > >> <mailto:android-group-japan%2Bunsu...@googlegroups.com<android-group-ja pan%252Buns...@googlegroups.com>>


> > にメー
> > > > >> ルを送信してください。
> > > > >> 詳細については、http://groups.google.com/group/android-group-
> > > > >> japan?hl=ja からこのグループにアクセスしてください。
>
> > > > > --
>
> > > > > このメールは Google グループのグループ「日本Androidの会」の登録者に
> > > > > 送られています。
> > > > > このグループに投稿するには、android-g...@googlegroups.com
> > > > > <mailto:android-g...@googlegroups.com> にメールを送信してくだ
> > > > > さい。
> > > > > このグループから退会するには、android-group-japan+
> > > > > unsub...@googlegroups.com

> > > > > <mailto:android-group-japan%2Bunsu...@googlegroups.com<android-group-ja pan%252Buns...@googlegroups.com>>


> > にメール
> > > > > を送信してください。
> > > > > 詳細については、http://groups.google.com/group/android-group-japan?
> > > > > hl=ja からこのグループにアクセスしてください。
>
> > > > > --
>
> > > > > このメールは Google グループのグループ「日本Androidの会」の登録者に送ら
> > > > > れています。
> > > > > このグループに投稿するには、android-g...@googlegroups.com にメー
> > > > > ルを送信してください。
> > > > > このグループから退会するには、android-group-japan+
> > > > > unsub...@googlegroups.com にメールを送信してください。
> > > > > 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> > > > > からこのグループにアクセスしてください。
>
> > --
>
> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

> > このグループから退会するには、android-group-j...@googlegroups.com<android-gro up-japan%2Bunsu...@googlegroups.com>にメールを送信してください。
> > 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。

kawasan

unread,
Dec 18, 2009, 10:08:22 PM12/18/09
to android-g...@googlegroups.com
mokkouyouさん、いろいろとご助言ありがとうございます!
 
環境が作れていない・・
その通りですね;
 
> mysql-connector-java-5.1.10-bin.jar
> を使って、クラスローディングのところまでは問題ないのを確認しました。
 
私も同じjarファイルを使用しています。
そして、
Class.forName("com.mysql.jdbc.Driver");
でExceptionに飛ばなくなりました!
少し前に進みました!ありがとうございます!
これで環境が整ったことになるのですかね・・?
確認方法がわからない^^;
Exceptionに飛ばなくて、そのまま先に進むということは、
ドライバを読み込めたということで良いのですよね?
 
次に以下のようにDBに接続しようとしているのですが、
Exceptionに飛ぶでもなく、「ソースが見つかりませんでした。」
と表示されます。
ソース・ルックアップ・パスの編集でjarファイルを追加したりしているのですが、
結果は変わりません。。
何が原因でこのようになるのでしょうか?
 
 
【DB接続部分のソース】
String url = "jdbc:mysql://(PCのプライベートIPアドレス)/DB名;";
Connection conn = DriverManager.getConnection(url, "(ユーザー名)", "(パスワード)");
 

 
2009年12月18日12:18 mokkouyou <mokk...@gmail.com>:
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。



kawasan

unread,
Dec 18, 2009, 10:29:01 PM12/18/09
to android-g...@googlegroups.com
先ほどデバッグして一つ一つ確認してみました。
すると、
Class.forName("com.mysql.jdbc.Driver");
の部分でステップインし続けていると
変数の窓の this の値が「NoClassDefFoundError」になっていました。
…ドライバ読み込めてない?
また、エラーメッセージでは以下のように書いてありました。
いろいろ聞いてばかりで申し訳ないですが、
わかる方、どうか教えてください;
 
 
非同期スレッド・キューの処理中に例外
 
java.lang.ClassCastException: org.eclipse.jdt.internal.debug.core.model.JDIObjectValue cannot be cast to org.eclipse.jdt.debug.core.IJavaArray
 at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager.getCompiledExpression(JavaDetailFormattersManager.java:396)
 at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager.resolveFormatter(JavaDetailFormattersManager.java:167)
 at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager.access$1(JavaDetailFormattersManager.java:152)
 at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager$3.run(JavaDetailFormattersManager.java:143)
 at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run(JDIThread.java:2751)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


 
2009年12月19日12:08 kawasan <kawas...@gmail.com>:

Keiji Ariyama

unread,
Dec 18, 2009, 10:36:31 PM12/18/09
to android-g...@googlegroups.com
有山@大阪です。

 libsはJNIの為にあるものだと思ってました。。。
 kawasanさん、ミスリードすみません。mokkouyouさんありがとうございます。

 さて、MySQLサーバーへの接続ですが、エミュレータはネットワーク空間も独
立しているので、プライベートアドレスへの接続は出来なかったと記憶しています。
 エミュレータから、エミュレータが動作しているPCのlocalhostアドレス
(127.0.0.1)は、エミュレータから見ると"10.0.2.2"にマッピングされています
ので、こちらを接続先として試してみてはいかがでしょうか。

参考
http://developer.android.com/guide/developing/tools/emulator.html#networkaddresses


/*********************************************
有限会社シーリス
代表 有山 圭二
@Address
〒530-0044
大阪市北区東天満二丁目2番5号
第2新興ビル 601
@Web http://www.c-lis.co.jp
*********************************************/

> <mailto:mokk...@gmail.com>>:

> <mailto:kawasan....@gmail.com>> wrote:
> > 質問者の川島です。
> > 名前を「kawasan」に変えました。
> >
> > 返信ありがとうございます!
> >
> > > androidのアプリで利用したいjarに関しては、プロジェクトのルート
> にlibsを作ってそこにに配置してみてください。
> > > ※フォルダのアイコンがassetsなどのようにプラグインが認識してくれ
> ているであろうアイコンになると思います。
> >
> > これは、「プロジェクトに新しくlibsというフォルダを作成して、その
> 中にjarファイルを置く」という意味でしょうか?
> > それともそれ以外の意味でしょうか?
> > プログラミング初心者なので、四苦八苦です^^;
> > ちなみに、前者は試してみました。
> > すると、ダイアログボックスが以下のエラーが出ました。。
> > 「failed to load main-class manifest attribute from jar」
> > どうしたものか・・・
> >
> > > それと、ローカルホストに変えるではなく、ipに変えるといった指摘
> をこんどうさんはされていると思われますが・・・
> >
> > 申し訳ないです。私の記載間違いです。
> > localhostではなく、PCのIPアドレス(プライベートアドレス)に変えてい
> ました。
> > それでも結果は同じくExceptionに飛んでしまいます。。
> >
> > どのようにしたら解決できるのでしょう?
> >
> > 2009年12月17日11:09 mokkouyou <mokkou...@gmail.com

> <mailto:mokkou...@gmail.com>>:


> >
> >
> >
> > > mokkouyouです。
> >
> > > 補足ですが、
> > > eclipseのビルドパスに加える事自体は不要ではありません。
> > > わかりにくくてすいません。
> >
> > > ただ、jarを放り込むと、
> > > なんだか色々警告が表示されて気持ち悪かった記憶があります。
> >
> > > On 12月17日, 午前10:48, mokkouyou <mokkou...@gmail.com

> <mailto:mokkou...@gmail.com>> wrote:
> > > > mokkouyouです。
> >
> > > > jarを”eclipseのプロジェクトの”構成に入れても、エミュレータや
> らには関係ないと思います。
> >
> > > > androidのアプリで利用したいjarに関しては、プロジェクトのルー
> トにlibsを作ってそこにに配置してみてください。
> > > > ※フォルダのアイコンがassetsなどのようにプラグインが認識してく
> れているであろうアイコンになると思います。
> >
> > > > それと、ローカルホストに変えるではなく、ipに変えるといった指
> 摘をこんどうさんはされていると思われますが・・・
> >
> > > > On 12月17日, 午前10:30, Keiji Ariyama

> <keiji_ariy...@c-lis.co.jp <mailto:keiji_ariy...@c-lis.co.jp>> wrote:
> >
> > > > > 有山@大阪です。
> >
> > > > > それ以前に、AndroidってJDBC使えましたっけ。
> >
> > > > > Class.forName();でアクセスするには、確か、ファイルシステム
> 上のアクセス
> > > > > 可能な場所に.jarを置かなければならないのですが、Androidの場
> 合、それが出
> > > > > 来るかは分かりません。
> >
> > > > > 標準的なライブラリ(maps等)であれば可能なのですが、アプリ
> ケーションレベ
> > > > > ルでの追加は難しかったと記憶しています。
> >
> > > > > /*********************************************
> > > > > 有限会社シーリス
> > > > > 代表 有山 圭二
> > > > > @Address
> > > > > 〒530-0044
> > > > > 大阪市北区東天満二丁目2番5号
> > > > > 第2新興ビル 601

> > > > > @Webhttp://www.c-lis.co.jp <http://www.c-lis.co.jp/>
> > > > > *********************************************/
> >
> > > > > 川島崇 wrote:
> > > > > > 返信ありがとうございます!
> >
> > > > > > > localhostの代わりにWindowsのLAN上のIPアドレスをいれて
> みてください
> > > > > > 接続先をlocalhostにして実行したのですが、同じように


> Exceptionに飛んでしま
> > > > > > いました・・・
> > > > > > Exceptionの値を確認したところ、
> > > > > > 「No suitable Driver」
> > > > > > となっておりました。
> > > > > > ドライバを読み込めないときに出るエラーとのことですが、
> > > > > > 構成パスにドライバを追加しているのにどうしてでるのでしょ
> う・・?
> >
> > > > > > 2009年12月16日21:16 Akio Kondo <koji...@gmail.com
> <mailto:koji...@gmail.com>

> > > > > > <mailto:koji...@gmail.com <mailto:koji...@gmail.com>>>:


> >
> > > > > > こんどうです
> >
> > > > > > 全貌がみえないのでなんともいえないところですが、
> > > > > > まずは接続先がlocalhostになっているのが問題だとおもいます
> >
> > > > > > localhostの代わりにWindowsのLAN上のIPアドレスをいれて
> みてください
> >
> > > > > >> On 2009 12 16 21:06, "川島崇" <kawasan....@gmail.com
> <mailto:kawasan....@gmail.com>

> > > > > >> <mailto:kawasan....@gmail.com

> > > > > >> このグループに投稿するには、android-group-
> ja...@googlegroups.com <mailto:android-g...@googlegroups.com>
> > > > > >> <mailto:android-g...@googlegroups.com


> <mailto:android-g...@googlegroups.com>> にメールを送信してく
> > > > > >> ださい。
> > > > > >> このグループから退会するには、android-group-japan+
> > > > > >> unsub...@googlegroups.com

> <mailto:unsub...@googlegroups.com>
> > > > > >>
> <mailto:android-group-japan%2Bunsu...@googlegroups.com
> <mailto:android-group-japan%252Buns...@googlegroups.com><android-group-ja
> pan%252Buns...@googlegroups.com
> <mailto:pan%25252Bun...@googlegroups.com>>>


> > > にメー
> > > > > >> ルを送信してください。
> > > > > >> 詳細については、http:
> //groups.google.com/group/android-group-
> > > > > >> japan?hl=ja からこのグループにアクセスしてください。
> >
> > > > > > --
> >
> > > > > > このメールは Google グループのグループ「日本Androidの
> 会」の登録者に
> > > > > > 送られています。

> > > > > > このグループに投稿するには、android-group-
> ja...@googlegroups.com <mailto:android-g...@googlegroups.com>
> > > > > > <mailto:android-g...@googlegroups.com


> <mailto:android-g...@googlegroups.com>> にメールを送信してくだ
> > > > > > さい。
> > > > > > このグループから退会するには、android-group-japan+
> > > > > > unsub...@googlegroups.com

> <mailto:unsub...@googlegroups.com>
> > > > > >
> <mailto:android-group-japan%2Bunsu...@googlegroups.com
> <mailto:android-group-japan%252Buns...@googlegroups.com><android-group-ja
> pan%252Buns...@googlegroups.com
> <mailto:pan%25252Bun...@googlegroups.com>>>


> > > にメール
> > > > > > を送信してください。
> > > > > > 詳細については、http:
> //groups.google.com/group/android-group-japan?
> > > > > > hl=ja からこのグループにアクセスしてください。
> >
> > > > > > --
> >
> > > > > > このメールは Google グループのグループ「日本Androidの会」
> の登録者に送ら
> > > > > > れています。

> > > > > > このグループに投稿するには、android-group-
> ja...@googlegroups.com <mailto:android-g...@googlegroups.com>


> にメー
> > > > > > ルを送信してください。
> > > > > > このグループから退会するには、android-group-japan+
> > > > > > unsub...@googlegroups.com

> <mailto:unsub...@googlegroups.com> にメールを送信してください。


> > > > > > 詳細については、http://groups.google.com/group/android-
> group-japan?hl=ja
> > > > > > からこのグループにアクセスしてください。
> >
> > > --
> >

> > > このメールは Google グループのグループ「日本Androidの会」の登録
> 者に送られています。

> > > このグループに投稿するには、android-group-
> ja...@googlegroups.com <mailto:android-g...@googlegroups.com>
> にメールを送信してください。


> > > このグループから退会するには、android-group-japan+
> unsub...@googlegroups.com
> <mailto:android-group-japan%2Bunsu...@googlegroups.com><android-gro

> up-japan%2Bunsu...@googlegroups.com
> <mailto:up-japan%252Buns...@googlegroups.com>>にメールを送信し


> てください。
> > > 詳細については、http://groups.google.com/group/android-group-
> japan?hl=jaからこのグループにアクセスしてください。
>
> --
>
> このメールは Google グループのグループ「日本Androidの会」の登録者に
> 送られています。
> このグループに投稿するには、android-g...@googlegroups.com
> <mailto:android-g...@googlegroups.com> にメールを送信してくだ
> さい。
> このグループから退会するには、android-group-japan+
> unsub...@googlegroups.com

> <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメール

kawasan

unread,
Dec 19, 2009, 9:06:33 PM12/19/09
to android-g...@googlegroups.com
Keijiさん、返信ありがとうございます。
IPアドレスの指定を10.0.2.2に変えてみましたが、
「ソースが見つかりません」と出てしまいます・・。
jarファイルは昨日も記載した通り、
mysql-connector-java-5.1.10-bin.jarを使用しています。
クラスファイルが存在しないということなのでしょうか・・?

 
2009年12月19日12:36 Keiji Ariyama <keiji_...@c-lis.co.jp>:
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。



かたぎり

unread,
Dec 21, 2009, 9:37:54 PM12/21/09
to 日本Androidの会
かたぎりです。

環境を作って試した所、
DriverManager.getConnection
を呼び出す際に、実行時エラーとして、
java.lang.ExceptionInInitializerError
がthrowされているので、
java.sql.DriverManager.registerDriverの振る舞いが
Androidでは違うのではないかと思います。
(すみません、あくまで私の想像です)

MySQLのjdbcドライバをビルドパスに設定すると、コンパイル時に、
Ignoring InnerClasses attribute for an anonymous inner class that
doesn't come with an associated EnclosingMethod attribute. (This class
was probably produced by a broken compiler.)
と警告メッセージが表示されるので、そもそもAndroidからはSQLite以外のJDBCドライバを使用することができないのかもしれません。

Android端末から直接外部のDBMSに接続するのは難しそうなので、
例えばRestのようなWeb API経由でデータを取得するように実装を変えられた方が良いかも知れません。


On 12月20日, 午前11:06, kawasan <kawasan....@gmail.com> wrote:
> Keijiさん、返信ありがとうございます。
> IPアドレスの指定を10.0.2.2に変えてみましたが、
> 「ソースが見つかりません」と出てしまいます・・。
> jarファイルは昨日も記載した通り、
> mysql-connector-java-5.1.10-bin.jarを使用しています。
> クラスファイルが存在しないということなのでしょうか・・?
>

> 2009年12月19日12:36 Keiji Ariyama <keiji_ariy...@c-lis.co.jp>:


>
> > 有山@大阪です。
>
> > libsはJNIの為にあるものだと思ってました。。。
> > kawasanさん、ミスリードすみません。mokkouyouさんありがとうございます。
>
> > さて、MySQLサーバーへの接続ですが、エミュレータはネットワーク空間も独
> > 立しているので、プライベートアドレスへの接続は出来なかったと記憶しています。
> > エミュレータから、エミュレータが動作しているPCのlocalhostアドレス
> > (127.0.0.1)は、エミュレータから見ると"10.0.2.2"にマッピングされています
> > ので、こちらを接続先として試してみてはいかがでしょうか。
>
> > 参考
>

> >http://developer.android.com/guide/developing/tools/emulator.html#net...


>
> > /*********************************************
> > 有限会社シーリス
> > 代表 有山 圭二
> > @Address
> > 〒530-0044
> > 大阪市北区東天満二丁目2番5号
> > 第2新興ビル 601
> > @Webhttp://www.c-lis.co.jp

> > > 2009年12月18日12:18 mokkouyou <mokkou...@gmail.com
> > > <mailto:mokkou...@gmail.com>>:

> ...
>
> もっと読む ≫

かたぎり

unread,
Dec 21, 2009, 10:03:51 PM12/21/09
to 日本Androidの会
かたぎりです。

環境を作って試した所、
DriverManager.getConnection
を呼び出す際に、実行時エラーとして、
java.lang.ExceptionInInitializerError
がthrowされているので、
java.sql.DriverManager.registerDriverの振る舞いが
Androidでは違うのではないかと思います。
(すみません、あくまで私の想像です)

MySQLのjdbcドライバをビルドパスに設定すると、コンパイル時に、
Ignoring InnerClasses attribute for an anonymous inner class that
doesn't come with an associated EnclosingMethod attribute. (This class
was probably produced by a broken compiler.)
と警告メッセージが表示されるので、そもそもAndroidからはSQLite以外のJDBCドライバを使用することができないのかもしれません。

Android端末から直接外部のDBMSに接続するのは難しそうなので、
例えばRestのようなWeb API経由でデータを取得するように実装を変えられた方が良いかも知れません。

On 12月20日, 午前11:06, kawasan <kawasan....@gmail.com> wrote:

> Keijiさん、返信ありがとうございます。
> IPアドレスの指定を10.0.2.2に変えてみましたが、
> 「ソースが見つかりません」と出てしまいます・・。
> jarファイルは昨日も記載した通り、
> mysql-connector-java-5.1.10-bin.jarを使用しています。
> クラスファイルが存在しないということなのでしょうか・・?
>

> 2009年12月19日12:36 Keiji Ariyama <keiji_ariy...@c-lis.co.jp>:


>
> > 有山@大阪です。
>
> > libsはJNIの為にあるものだと思ってました。。。
> > kawasanさん、ミスリードすみません。mokkouyouさんありがとうございます。
>
> > さて、MySQLサーバーへの接続ですが、エミュレータはネットワーク空間も独
> > 立しているので、プライベートアドレスへの接続は出来なかったと記憶しています。
> > エミュレータから、エミュレータが動作しているPCのlocalhostアドレス
> > (127.0.0.1)は、エミュレータから見ると"10.0.2.2"にマッピングされています
> > ので、こちらを接続先として試してみてはいかがでしょうか。
>
> > 参考
>

> >http://developer.android.com/guide/developing/tools/emulator.html#net...


>
> > /*********************************************
> > 有限会社シーリス
> > 代表 有山 圭二
> > @Address
> > 〒530-0044
> > 大阪市北区東天満二丁目2番5号
> > 第2新興ビル 601
> > @Webhttp://www.c-lis.co.jp

> > > 2009年12月18日12:18 mokkouyou <mokkou...@gmail.com
> > > <mailto:mokkou...@gmail.com>>:

> ...
>
> もっと読む ≫

kawasan

unread,
Dec 27, 2009, 9:20:59 PM12/27/09
to android-g...@googlegroups.com
かたぎりさん、わざわざ環境を作って試していただき、ありがとうございます。
また、返信が遅れてしまい、申し訳ないです。。
 
JDBCドライバの挙動が違う・・
どうにもならないですね・・
実際はどうなのかよくわからないところですが、
進めるために他の方法も試してみたいと思います。
 
> 例えばRestのようなWeb API経由でデータを取得するように実装を変えられた方が良いかも知れません。
この方法で実装するには、どの程度の時間がかかるでしょうか?
また、もし参考となるサイトを知っていたら、教えていただけるでしょうか?
 
いろいろ聞いてばかりで申し訳ないですが、
よろしくお願いいたします。

 
2009年12月22日12:03 かたぎり <kka...@gmail.com>:

Yukichi Shiotani

unread,
Jan 7, 2010, 11:11:03 PM1/7/10
to 日本Androidの会
Shiotaniです。

はじめまして。

既に解決されているかもしれませんが、AndroidManifest.xmlに以下2行追加して
動かしてみてはいかがでしょうか?

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />

私の環境では、Oracle、MySQL共にjdbc接続が出来ました。

Reply all
Reply to author
Forward
0 new messages