2017-04-26 75 views
0

我已经下载了jar JDBC文件并成功添加到了我的app/src/lib文件中。 而且我也试图与JTDS-JDBC库,但我得到它是完全相同的例外:Android应用程序中没有适用于JDBC的驱动程序

  1. 网络异常不能连接到127.0.0.1/1433 ECOREFUSED

  2. 值java.sql.SQLException:没有合适的驱动程序

对于异常#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; 
    } 
} 

任何解决方案将被接受!

+0

为什么一个src/lib目录?一个lib永远不是src。它是一个二进制文件,必须添加到类路径 – Jens

+0

希望你不想在智能手机端使用SQL Server – Jens

+0

我还试图让Grandle自己编译库,只需使用 'compile'net.sourceforge.jtds :jtds:1.3.1'',但没有看到任何区别 – HelloIT

回答

1

首先,从Android设备的角度来看,localhost的Android设备。这就是localhost无处不在的地方:它指的是运行代码的机器。 SQL Server不能在Android上运行。您需要更改代码以引用运行SQL Server的计算机的实际IP地址或域名。其次,为了可靠性和安全性的原因,很少有开发人员在Android上使用JDBC。

+0

您认为应该使用哪种DBMS? – HelloIT

+0

@HelloIT:使用Web服务或其他设计的不安全客户端和片状网络连接。如果您想使用SQL Server来存储数据,欢迎您这样做,但是没有移动应用程序直接与数据库交谈。 – CommonsWare

相关问题