【发布时间】:2018-05-28 15:47:43
【问题描述】:
我正在尝试打开一个 sqlite jdbc 连接,但我不断收到异常
java.sql.SQLException:打开数据库: '\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 模拟器,并且检查了数据库目录的权限。
我已经尝试了在网络上找到的所有解决方案,但没有任何帮助。
【问题讨论】:
-
你为什么使用 JDBC,而不是 Android 的原生 SQLite API 或围绕它的东西(例如,Room)?为什么要使用反斜杠?
标签: java android database sqlite jdbc