Android 应用程序中 JDBC 没有合适的驱动程序

No Suitable Driver for JDBC in Android App

我已经下载了 jar JDBC 文件并成功添加到我的 app/src/lib 文件中。 此外,我还尝试使用 JTDS-JDBC 库,但我得到了完全相同的异常:

  1. Network exception can't connect to 127.0.0.1/1433 ECOREFUSED

  2. java.sql.SQLException: No suitable driver

对于Exception #1 我查了一些帖子说抛出这个异常的主要原因是内存不足,于是我把SQLServer的内存增加到4GB也没有解决我的问题。

对于这两个库,我都尝试建立连接以实现对我的 SQLServer 数据库的插入,唯一的区别是对于 JTDS-JDBC 我使用了以下内容:

Class.forName("net.sourceforge.jtds.jdbc.Driver"))

我是运行以下代码:

try {
     /*Declare the JDBC objects.*/
     Connection con = null;
     Statement stmt = null;
     ResultSet rs = null;


     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

     String constring = "jdbc:sqlserver://localhost:1433;databaseName=bumpit;integratedSecurity=true;";

     con = DriverManager.getConnection(constring);

     /*Create and execute an SQL statement.*/
     stmt = con.createStatement();
     String SQL = "INSERT INTO BumpItUsers (name,address,mobile,password) VALUES ('" + name + "','" + address + "','" + address + "','" + password + "')";
     rs = stmt.executeQuery(SQL);


     con.close();
     return true;

     } catch (Exception e) {
     e.printStackTrace();
     return false;
     }
 }

任何解决方案都将被接受!

首先,localhost,从Android设备的角度来看,是Android设备。这就是 localhost 在任何地方的工作方式:它指的是代码在其上的机器 运行ning。 SQL 服务器未在 Android 上 运行。您需要更改代码以引用机器 运行ning SQL 服务器的实际 IP 地址或域名。

其次,出于可靠性和安全原因,很少有开发人员在 Android 上使用 JDBC。