80,351
社区成员
发帖
与我相关
我的任务
分享
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 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.
Could not create connection to database server. Attempted reconnect 3 times. Giving up.
package com.example.android_mysql_test;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
//import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MainActivity extends AppCompatActivity {
//声明Connection对象
com.mysql.jdbc.Connection con;
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://192.168.1.113:3306/dev001";//?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false;
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "1";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = (com.mysql.jdbc.Connection)DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = "select * from 故障";
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
String job = null;
String id = null;
while (rs.next()) {
//获取stuname这列数据
job = rs.getString("计算机名");
//获取stuid这列数据
id = rs.getString("最后在线时间");
//输出结果
Log.d("44445555",job);
Log.d("44445555",id);
}
rs.close();
con.close();
} catch (ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch (SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
System.out.println("数据库数据成功获取!!");
}
}
}