0

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

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

在网上我找不到任何提示。我通过一个复杂的查询得到了这个异常,所以我试着写一个更简单的,比如

"SELECT * FROM TABLE_NAME"

....但我得到了同样的例外。

4

2 回答 2

0

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

尝试用这个替换你的连接:

Connection conn = DriverManager.getConnection("jdbc:jstels:mdb:sdcard/2012xp.mdb");
于 2012-12-12T17:45:49.337 回答
0

经过长时间的尝试,我发现 jStel 与 android 不兼容...

于 2013-01-09T13:58:07.900 回答