2010-10-27 26 views
1

我發現了一個功能,這將有助於我加載磁盤SQLite數據庫的內存數據庫,但發現我所需要的模塊,APSW,不支持它,而pysqlite一樣。我需要apsw,因爲它具有我需要的大部分功能,而pysqlite卻沒有。是否有任何解決方法可以完全複製到數據庫?在Python中替代SQLite的Connection.iterdump?

回答

0

檢查connection.backup()功能

+0

任何方式做到這一點,而不必刪除連接到數據庫中的所有對象的光標? – Clay 2010-10-28 00:28:09

2

單數指出,APSW提供內建對於SQLite的備份功能。

則無法繼續使用遊標(在實踐中根本SQLite的編譯報表)的原因是因爲數據庫架構已完成可能改變你有一個備份覆蓋它。您可以使用關閉方法強制關閉項目。

某些原因,很多開發商似乎把光標作爲一種珍貴的商品,並嘗試重用他們,讓他們身邊的每一個機會。遊標本身非常輕便,只比Python整數稍微「重一些」。基礎的SQLite編譯語句更重量級,但在Python對象級別,它們會針對執行的每條語句進行切換。 (即APSW光標指向當前正在執行的SQLite編譯語句。)

BTW APSW還包括轉儲數據庫的能力。您可以使用shell類爲您完成工作。

http://apidoc.apsw.googlecode.com/hg/shell.html#shell-class

披露:我是APSW作者。