我想讀取一個sqlite文件到內存中以獲得更好的性能,當關閉我的應用程序時我想把它寫回硬盤。備份和恢復SQLite從磁盤到Java中的內存
我在Java中使用了jdbc(3.7.2)驅動程序。
根據該文檔,我的代碼看起來像
this._conn = DriverManager.getConnection("jdbc:sqlite:");
Statement stat = this._conn.createStatement();
File dbFile = new File(this._config.GetDataBaseFile());
if (dbFile.exists()) {
this._logger.AddInfo("File exists.");
stat.executeUpdate("restore from " + dbFile.getAbsolutePath());
}
文件存在(及其有效的sqlite的分貝),this._conn
是開放的,但如果我想執行它的語句,似乎有裏面沒有表格和數據。它似乎並沒有恢復任何東西。
關於如何解決/進一步調試的任何建議?
(順便說一句 - 如果我我的連接上使用stat.executeUpdate("backup to test.db")
,它備份我的空:內存:DB ...)
該文件存在,它是一個有效的SQLite數據庫 - 但它包含任何表? – mthmulders
是的,它的確如此。還有數據。 – RalphP
@ mjreaper..did你找到這個代碼的解決方案?你能幫助我如何恢復? –