2013-02-09 124 views
0

說明 在調試模式下和使用Eclipse時這個代碼爲Android過程的行: CON =的DriverManager.getConnection(的ConnectionURL); 它產生logcat的一個錯誤,如:找不到類 'java.sql.SQLFeatureNotSupportedException'

錯誤

Could not find class 'java.sql.SQLFeatureNotSupportedException', referenced from method com.microsoft.sqlserver.jdbc.SQLServerConnection.createArrayOf 
02-09 08:15:46.325: W/dalvikvm(367): VFY: unable to resolve new-instance 828 (Ljava/sql/SQLFeatureNotSupportedException;) in Lcom/microsoft/sqlserver/jdbc/SQLServerConnection; 
02-09 08:15:46.325: D/dalvikvm(367): VFY: replacing opcode 0x22 at 0x0003 
02-09 08:15:46.325: D/dalvikvm(367): VFY: dead code 0x0005-000e in Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;.createArrayOf (Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array; 
02-09 08:15:46.385: I/dalvikvm(367): Failed resolving Lcom/microsoft/sqlserver/jdbc/SQLServerNClob; interface 818 'Ljava/sql/NClob;' 
02-09 08:15:46.385: W/dalvikvm(367): Link of class 'Lcom/microsoft/sqlserver/jdbc/SQLServerNClob;' failed 
02-09 08:15:46.395: E/dalvikvm(367): Could not find class 'com.microsoft.sqlserver.jdbc.SQLServerNClob', referenced from method com.microsoft.sqlserver.jdbc.SQLServerConnection.createNClob 
02-09 08:15:46.395: W/dalvikvm(367): VFY: unable to resolve new-instance 563 (Lcom/microsoft/sqlserver/jdbc/SQLServerNClob;) in Lcom/microsoft/sqlserver/jdbc/SQLServerConnection; 

代碼 這只是一個這個類的一部分:

import java.sql.*; 

public class ConnectURL { 

    public static void main() { 

     // Create a variable for the connection string. 
     String connectionUrl = "jdbc:sqlserver://192.168.1.20:1433;" + 
      "databaseName=BD;user=sa;password=pass1;integratedSecurity=true;"; 

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

      try { 
       // Establish the connection. 
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
       con = DriverManager.getConnection(connectionUrl); 
.... 

注 我有下載Microsoft sqlserver jdbc 4.0在一個文件夾中,並且在這個項目中有一個Java構建路徑。

回答

0

java.sql.SQLFeatureNotSupportedException僅僅是因爲API級別9

我猜你的目標較低API級別可用。

+0

是的,你是對的。現在我已經使用API​​> 8,並且未顯示此錯誤。但現在有一個新的錯誤:01-29 11:54:20.387:E/dalvikvm(1137):無法找到類「javax.sql.XAConnection」,從方法引用com.microsoft.sqlserver.jdbc.SQLServerConnection.poolCloseEventNotify 01-29 11:54:20.387:W/dalvikvm(1137):VFY:無法解析Lcom/microsoft/sqlserver/jdbc/SQLServerConnection中的instanceof 913(Ljavax/sql/XAConnection; – 2013-02-12 10:36:30

+0

如果它解決了問題,請接受(如果有幫助,請立即投訴)。關於XAConnection:這個類不是Android API的一部分。我想你需要它,因爲你的事務管理器被配置爲與多個數據庫(或外部資源)一起工作。如果你真的需要這個功能:你將不得不尋找另一個不依賴'javax.sql.XAConnection'的驅動程序版本。如果您只有一個DB,則不需要此類,所以我建議您更深入地調查與您的驅動程序有關的可能配置問題。 – ben75 2013-02-12 10:47:57

+0

對不起,當您寫下「請接受...」時,您是否參考下面的按「是」按鈕,其中標有「此帖是否??」。在這種情況下,我接受了它。所以,針對這個問題,我只在外部機器上有一個遠程數據庫,但這個類是必需的,所以看起來似乎。此外,我看到了這個錯誤的其他類似問題,它表明安裝JEE的,所以我必須這樣做,我已經能夠添加導入javax.sql。*;但問題依然存在。 – 2013-02-12 11:37:21