我正在使用C++ shell擴展DLL,它用於讀取數據到SQLite數據庫表中並將數據寫入數據庫。還有另一個應用程序(exe)用於訪問所有表。SQLite數據庫文件在插入/刪除期間被鎖定
有時,當我嘗試刪除/插入/更新到SQLite數據庫表時,我的dll顯示異常「數據庫文件被鎖定」。這是因爲其他應用程序此時正在訪問表。
有沒有什麼辦法可以解決這個問題從我的DLL?我是否可以使用該解決方案爲在鏈接中提到:「http://stackoverflow.com/questions/6455290/implementing-sqlite3-busy-timeout-in-an-ios-app」
在當前的代碼,我正在使用CppSQLite3.cpp方法execQuery(const char * szSQL)來執行SQL查詢。
請指教。
謝謝@ DJK。謝謝omggs。我們的exe和DLL應用程序正在訪問相同的數據庫表。 Exe訪問table1,table2和table3。 DLL正在訪問table1和table2。問題是Exe-table3插入需要更長的時間。這導致數據庫文件鎖定方案。我認爲解決方法是將table3移動到另一個數據庫。我認爲這會解決我們的問題 – JChan 2012-08-07 14:49:22
@JChan:不客氣!當然,您可以將表移動到另一個數據庫或增加適合您的應用程序的繁忙時間! – omggs 2012-08-08 04:37:44