android studio连接mysql 怎么老是异常

谁学逆向工程 2019-05-13 07:26:18
程序运行到
con = (com.mysql.jdbc.Connection)DriverManager.getConnection(url, user, password);
就老半天卡死,等好半天跳到第二个catch 语句。
即使 con 用 java.sql.Connection 类型也是一样的效果,下面是异常信息
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.


然而并不是每次都是上面的异常,有时候提示连接超过3次的异常,有时候说是超过多少毫秒。




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("数据库数据成功获取!!");
}
}

}
...全文
447 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
谁学逆向工程 2019-05-15
  • 打赏
  • 举报
回复
引用 1 楼 jzp12 的回复:
mysql启动了吗?


引用 2 楼 王能 的回复:
你先试试用另一台电脑的navicat链接这个局域网的mysql能成功吗


启动了,MySQL服务都是正常的
王能 2019-05-14
  • 打赏
  • 举报
回复
你先试试用另一台电脑的navicat链接这个局域网的mysql能成功吗
jzp12 2019-05-13
  • 打赏
  • 举报
回复
mysql启动了吗?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧