簡體   English   中英

SQLite3數據庫文件 - 僅在Linux上損壞/加密

[英]SQLite3 Database file - Corrupted/Encrypted only on Linux

我目前正在編寫一個Python腳本來與SQLite數據庫進行交互,但它仍然返回數據庫是“加密或損壞”。 數據庫肯定沒有加密,因此我嘗試在命令行使用sqlite3庫(返回相同的錯誤)和使用SQLite Manager加載項為Firefox打開它...

我有一個相同的數據庫結構的副本,但在Windows框中由此程序的不同實例填充,我嘗試使用SQLite Manager打開它,它很好,所以作為快速測試我加載“加密或損壞”數據庫把它插入到USB記憶棒上並使用它首次打開的管理器插入到Windows機器中,沒有問題。

有誰知道可能導致這種情況的原因是什么?

編輯:

在Linux機器上我嘗試以root身份訪問它而沒有運氣,我也嘗試將其調整為777作為測試(在數據庫的復制版本上),再次沒有運氣

您的Linux機箱是否與Windows機箱具有相同版本的SQLite? 舊版本的SQLite可能無法識別使用較新功能的文件。 例如, WAL日志模式

為了防止舊版本的SQLite嘗試恢復WAL模式數據庫(並且更糟糕),數據庫文件格式版本號(數據庫頭中的字節18和19)在WAL模式下從1增加到2。 因此,如果舊版本的SQLite嘗試連接到以WAL模式運行的SQLite數據庫,它將報告“文件已加密或不是數據庫”的錯誤。

您應該檢查用戶權限,Linux上的用戶可能沒有足夠的權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM