Android JDBC无法正常工作:驱动程序上的ClassNotFoundException我正在尝试在我的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数据库访问的替代方案。谢谢。
3 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
暂且不谈有效的异议,你可以让它发挥作用。
首先确保你在构建路径中有一个有效的驱动程序jar,我用过
mysql-connector-java-5.1.7-bin.jar
其次,如果你在模拟器中尝试它并且你的数据库在你的开发机器上,那么'localhost'在URL中是不好的。你需要'10 .0.2.2'
我的网址是:
String url = "jdbc:mysql://10.0.2.2/test";
测试是我的数据库名称。
我有一张名为“书籍”的桌子,里面有一个“标题”栏目
以下代码适用于我:
public void init() throws IllegalAccessException, InstantiationException, ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver").newInstance(); try { conn = DriverManager.getConnection(CONNECTION_URL, user, pass); } catch (java.sql.SQLException e1) { e1.printStackTrace(); } try { stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT title FROM books"); String entry; while (rs.next()){ entry = rs.getString(1); } rs.close(); stmt.close(); conn.close(); } catch (java.sql.SQLException e) { e.printStackTrace(); }}
单步执行调试器,我会在String条目中看到标题
添加回答
举报
0/150
提交
取消