2012-12-12 93 views
0

我正在尝试使用StelsMDB library访问MS_Access数据库。该文件位于手机的SD卡上。我加载了所有库,创建了连接:使用Android上的StelsMDB从MS Access数据库获取数据

public class DBConnection { 
    private static final String TAG = DBConnection.class.getSimpleName(); 

    private Connection connection; 

    public DBConnection() { 
     try { 
      Class.forName(jstels.jdbc.mdb.MDBDriver2.class.getName()); 
      connection = DriverManager.getConnection("jdbc:jstels:mdb:sdcard/2012xp.mdb"); 
     } catch (SQLException e) { 
      Log.e(TAG, "", e); 
     } catch (ClassNotFoundException e1) { 
      Log.e(TAG, "", e1); 
     } 
    } 

    public Connection getConnection() { 
     return this.connection; 
    } 
} 

它似乎工作;但是当我尝试查询的东西,我得到以下异常:

无法剖析查询 java.lang.IllegalStateException:未知的查询对象标志3

在线我无法找到任何暗示。我得到这个例外有一个复杂的查询,所以我tryied写一本容易些像

"SELECT * FROM TABLE_NAME"

....但我得到相同的异常。

回答

0

经过长期努力,我发现,jStels不兼容Android ...

0

我相信你在连接字符串中有错误。您需要使用它的属性创建Connection对象。

尝试用这种替代的连接:

Connection conn = DriverManager.getConnection("jdbc:jstels:mdb:sdcard/2012xp.mdb"); 
+0

...有点评论woudn't是坏的。 – Emaborsa

+0

评论已添加 –

+0

请告诉我我和你的代码之间的区别。但是,正如我写的,连接似乎工作,但查询失败。 – Emaborsa