2011-04-07 100 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);