2011-04-07 102 views
1

我將構建一個C#WPF應用程序,可以將USB/RS232數據(〜速率:10毫秒)攝取數小時,並且必須將所有這些數據存儲到數據庫。用戶可以將所有RS232數據和設置數據(例如文本框)保存到數據庫中,並將其輸出到文件中。一旦它們將所有數據輸出到文件中,數據庫中的相應數據將被刪除。用戶以後可以導入(或打開)該文件並將其加載到應用程序中,其所有數據將顯示在顯示屏上並再次存儲回數據庫。我正在尋找嵌入式數據庫解決方案,用戶無需單獨安裝數據庫服務器。嵌入式(內存)數據庫或獨立數據庫

嵌入(內存)數據庫,如SQLite,完成這樣的工作?

回答

1

是SQLite的可以做到這一點 - 有一個專門針對您的情況幾點:

  • 在爲了使用內存數據庫,您必須指定:memory:作爲連接字符串上的數據源。
  • 爲了將內存數據庫複製到磁盤上,您必須使用SQLite備份API(有關更多詳細信息,請參閱this question) - 它們不由System.Data.SQLite數據適配器公開(我建議您使用它) ,所以你需要編寫一些PInvoke調用。
1

爲什麼不呢?現在在Visual Studio 2010中有SQL Compact Edition 4.

1

SQLite不需要任何安裝,但根據SQLite進行開發非常麻煩。例如,即使上面的語句也會給出錯誤。

CREATE TABLE IF NOT EXISTS firma (firm_id INTEGER PRIMARY KEY,firm_name TEXT,firma_owner TEXT,counter INTEGER);