要在CD上分发的数据库

时间:2009-05-28 09:55:07

标签: c# database cd

在CD-ROM上分发小型数据库的好方法是什么?

数据库必须加密。 它必须在WinXP和Vista上运行。 该应用程序使用C#编写,也可以在CD上分发。 记录只能读取但不能写入。

可以运行安装程序,但我们不想这样做。

数据库有100000条记录,性能不是主要目标。

编辑: 是的,用户必须输入密码才能解密数据库。

8 个答案:

答案 0 :(得分:7)

我会使用SQLite

实际上重新阅读您的问题,您甚至可以使用平面或XML文件,因为不需要性能或更新/添加。

如果有可能需要在应用程序成熟时添加/更新此数据源,请使用SQLite。

答案 1 :(得分:3)

老实说......如果你能做到,我会使用加密的XML文件。 没有安装,可以在任何地方运行(文本文件没有依赖项),速度快,而且不需要更新,这样可以更容易。

答案 2 :(得分:2)

MS-SQL(Express)具有只读数据库的显式设置。我不确定加密。

我很确定Sql Server Compact(SSCE)也允许只读,它支持加密。但你必须将密码存储在某个地方......

SSCE可能允许您在没有设置的情况下运行。

考虑到数据的大小,还可以使用填充并保存到磁盘的数据集。您可以使用标准库进行加密和压缩。

答案 3 :(得分:2)

SQL Server CE是一个支持加密的SqlServer(CE代表Compact Edition)的精简版本。数据库包含一个文件。

该软件包含一组DLL,您可以与exe一起并行复制。

(不要被CE愚弄:除Windows Mobile版本外,还有桌面版Windows。)

答案 4 :(得分:2)

如果您在英国的政府机构工作,请尽量不要将CD留在火车上或在帖子中发送......:)

答案 5 :(得分:2)

  

数据库必须加密

快速提问:你如何解密?正确地,通过让用户输入解密密码,或者通过将解密密钥添加到应用程序中来不正确,这意味着可以轻松提取?

因为如果它是解决方案2,那么您可以通过完全删除加密要求来扩展可能的数据库选项。

我也在寻找一个嵌入式数据库,我收到了based on the answers,我选择了SQLite,easy to implement

答案 6 :(得分:0)

正如其他人所指出的,那里有支持只读访问的数据库。

至于加密,SQLite至少有一个extension supporting encryption

您也可以选择任何只读的dbms并保留pk和fk,但手动加密内容字段(即通过代码)

答案 7 :(得分:0)

SQLite也是我的第一个想法,但尽管我一般不喜欢XML并考虑只读方面,但我认为XML的自定义加密可能是最好的选择。逆向工程会更难。