本想通过android程序直接访问数据库获取数据,无奈在测试的过程中android一直显示无法找到驱动程序。上网找了许多资料,依旧没有找到解决的方法。因此决意搭建中介服务器。通过中介服务器进行中转,实现对第三方电脑mysql操控以及和android之间的数据通信。
最后测试成功。
具体步骤如下:
服务端:
1.首先在服务端的WEB-INF文件夹的lib目录下面引入mysql驱动程序:
2.引入完毕后,右击项目,新建java文件:
3.写上代码:
import com.mysql.jdbc.*;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class conn {
static List list = null;
public static void main(String[] args) throws SQLException{
conn con = new conn();
con.getData();
}
public void getData() throws SQLException{
//驱动数据库
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println();
//获取信息
//在此写入相应信息
String dbName = "";
String tableName = "";
String userName = "";
String password = "";
String url = "jdbc:mysql://<ip地址>:<端口号,由对方设置>/" + dbName + "?user="
+userName + "&password=" + password;
Connection conn = (Connection) DriverManager.getConnection(url);
System.out.print("数据库连接成功!");
}
}
这边的步骤就书写完毕了,然后开始对对方电脑进行配置(此测试为linux):
1.
将 /etc/mysql/my.cnf中的bind-address注释掉
2.将数据库中对应用户的host改为%
至此本次测试成功了,成功后运行java程序,会打印出数据库连接成功!
另:如果出现错误,可能还要设置对方防火墙等原因。
本次测试失败了很多次最后意外的成功了,不排除成功原因之一是因为对方电脑搭建了java环境,但这点仍然不很确定。望大神指点!
原文:http://www.cnblogs.com/wangsihui1996/p/5393229.html