【发布时间】:2011-11-05 12:04:30
【问题描述】:
我正在尝试在我的 Android 应用程序中使用 JDBC 连接到远程数据库以执行插入、查询等操作。我已成功连接并在不同的 JAVA 项目中完成了这些操作。所以我想,既然 Android 是 Java,我可以移植相关代码,为驱动程序添加相同的构建路径等。但它给了我错误:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我真的不认为这是代码问题,因为相同的代码可以在 Java 项目中运行(我只是在 main() 中执行)。但这里供参考:
String url = "jdbc:mysql://localhost:3306/eventhub_test"; //
String user = "root";
String pass = "";
SQLUtils sqlu = new SQLUtils(url, user, pass);
//我做的SQLUtils类:
public class SQLUtils {
private String CONNECTION_URL;
private String user;
private String pass;
private java.sql.Statement stmt;
private java.sql.Connection conn;
public SQLUtils(String conn_url, String user, String pass) {
this.CONNECTION_URL = conn_url;
this.user = user;
this.pass = pass;
}
public void init() throws IllegalAccessException, InstantiationException, ClassNotFoundException, SQLException {
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection(CONNECTION_URL, user, pass);
stmt = conn.createStatement();
}
}
所以我在这里真的很困惑。 JDBC 不适用于 Android 吗?如果是这样,请告诉我应该为远程 MySQL 数据库访问寻找哪些替代方案。
谢谢。
【问题讨论】:
-
您的解决方案在这里:stackoverflow.com/questions/15756230/…
-
尝试更改 gradle 文件 targetSdkVersion 8