2017-04-26 102 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

相關問題