質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

5080閲覧

外部データベースに接続するandroidアプリ

Handble

総合スコア19

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2017/01/14 04:43

編集2017/01/14 06:45

外部DBに接続するandroidアプリケーションを開発しています。

現在、DBに接続するメソッドを書いているのですが、
接続できません。

logをとってみたところ、
Connection con=DriverManager.getConnection(...);の一文のところで不具合が起きているようです。

jarファイルの設定、manifestでのINTERNET permission記述、また、DB名、パスワードなどのスペルは間違っておりません。

何を確認すればよいのかわからず、困っています。
ご教授いただけると幸いです。

以下、ソースコードです。

java

1package ******************; 2 3import android.util.Log; 4 5import java.sql.Connection; 6import java.sql.DriverManager; 7import java.sql.ResultSet; 8import java.sql.SQLException; 9import java.sql.Statement; 10 11 12 13public class DBManager { 14 15 /***************************************/ 16 private String DBName = "****"; 17 private String DBURL = "jdbc:mysql://***.**.***.***/****"; 18 private String DBuserName = "****"; 19 private String DBpassword = "****"; 20 /***************************************/ 21 22 public Connection estCon() { 23 try { 24 Class.forName("com.mysql.jdbc.Driver"); 25 Log.d("Class.forName", "通過"); 26 Connection con = DriverManager.getConnection(DBURL, DBuserName, DBpassword); 27 Log.d("DriverManager.getCon", "通過"); 28 return con; 29 } catch (Exception e) { 30 String err=e.getMessage(); 31 Log.d("接続", err); 32 33 return null; 34 } 35 } 36}

以下、ログです。

01-14 13:37:56.037 ******-******/************ D/Class.forName: 通過 01-14 13:37:56.042 ******-******/************ D/接続: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/14 08:34

MySQLのパーミッション設定やその存在するサーバーのセキュリティ設定は適切ですか?
guest

回答1

0

ベストアンサー

AndroidManifest.xmlにパーミッションの記述を追加してください。

投稿2017/01/14 05:03

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Handble

2017/01/14 05:08

回答ありがとうございます。 パーミッションに関する言及が足りていませんでした、すみませんでした。 現在、AndroidManifest.xmlのパーミッションは <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> となっております。 ですが、接続に不具合が生じています。
yona

2017/01/14 05:34

あなたが埋め込んだログだけでなく、エラーログを質問に追記してください。
Handble

2017/01/14 08:04

情報不足で申し訳ありませんでした。 エラーログには、 Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. と出ていました。
yona

2017/01/14 09:18

これはMySQL側の問題ではないでしょうか。 まず、MySQLのエラーログを確認しましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問