2013-08-05 34 views
3

我有一個嵌入式系統,它使用C/C++ API與編譯版本的SQLite v3。我在pragma integrity_check(10);上遇到了SQLITE_NOMEM錯誤。我問底層的系統程序員,堆大小是多少,他告訴我這個值是500k。還有一個4096的SQL矢量大小。完整性檢查sqlite nomem錯誤

我有什麼方法可以擺脫這種情況?除了將數據庫分成多個數據庫?

+0

'pragma integrity_check'是一個管理功能,不應在正常操作期間運行。 (並且在檢查失敗時該怎麼辦?) –

+0

我正在恢復損壞的數據庫上的備份文件。現在它發生,即使這是一個NOMEM錯誤。我想解決這個問題。 –

+0

嘗試在測試數據庫上的編譯指示。使用sqlite3命令。從那裏開始尋找具體導致失敗的原因。 (SQLite環境有可能以某種方式被破壞。) –

回答

1

將堆內存大小增加到1.5M可解決此問題。