2

MySQL Workbench (下のスクリーンショット) で接続できるリモート MySQL データベースがありますが、最終的には JBDC 経由で接続する必要があり、接続しようとするたびに例外がスローされます。私はこれが初めてなので、何が間違っているのかについて誰かが私に洞察を与えることができますか?

String host = "testdb.db.10682960.hostedresource.com";
String datab = "testdb";
String url = "jdbc:mysql://" + host + ":3306/" + datab;
Class.forName("com.mysql.jdbc.Driver").newInstance(); 
Connection conn = DriverManager.getConnection(url, datab, "password");

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: データベース サーバーへの接続を作成できませんでした。

MySQL ワークベンチ接続

編集:これが関連しているかどうかはわかりませんが、私はこれを Android で実行しています。

4

2 に答える 2

0

ユーザー名がないようです。URL の末尾に「?user=testdb」を追加してみてください。

編集: これが Android アプリだとは知りませんでした。技術的には可能ですが、お勧めできません。ネットワーク接続の信頼性が大幅に低下し、サーバーの資格情報をクライアントにプッシュすることになります。REST API を使用して、Android からデータベースと同じデータ センター内の Web サーバーに通信することは、より安全なオプションです。

Android からこれを試した経験がないため、たとえば、Android のネットワークへの接続からポート 3306 に到達できない場合、どの例外がスローされるかわかりません。ただし、機能するようになったとしても、代わりに Web サービスの使用を検討してください。

于 2013-03-29T02:48:27.190 に答える
0

jTDS FAQ ( http://jtds.sourceforge.net/faq.html ) によると、JDBC URL の形式は次のとおりです。

jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]

私があなたなら、「?」を置き換えます。とともに ';' 上記の形式に準拠します。「クエリ文字列」は「通常の」URL とは異なります。

もちろん、これは、上記のリンクから見つけたオープン ソースの JDBC コネクタを使用していることを前提としています。

于 2014-01-20T21:56:07.617 に答える