由于只读文件系统

时间:2017-12-14 14:07:07

标签: java android database sqlite jdbc

我试图打开sqlite jdbc连接,但我一直收到异常

  

java.sql.SQLException:打开db:   ' \ data \ data \ com.lppapp.ioi.lpp \ databases \ lppDB.db':只读文件   系统

在尝试获取jdbc连接之前,我将数据库复制到内部存储中并尝试从那里访问它。我使用此代码进行连接:

public Connection connect() {
    String url = "jdbc:sqlite:\\data\\data\\com.lppapp.ioi.lpp\\databases\\lppDB.db";
    Connection conn = null;

    try {
        Properties config = new Properties();
        config.setProperty("open_mode", "1");
        //TODO: can't open db (read-only file system) even though directory has a+rw permissions
        conn = DriverManager.getConnection(url, config);

        System.out.println("Connection successful.");
    } catch (SQLException e) {
        System.out.println("Connection failed.");
        System.out.println(e.getMessage());
    }

    return conn;
}

我正在使用Android模拟器,并且我已经检查了数据库目录的权限。 enter image description here

我已尝试在网络上找到的所有解决方案,但没有任何帮助。

1 个答案:

答案 0 :(得分:0)

我决定使用CommonsWare提到的Android原生SQLite API。

谢谢!