在 CD-ROM 上分发小型数据库的好方法是什么?
数据库必须加密。它必须在 WinXP 和 Vista 上运行。该应用程序是用 C# 编写的,并且也在 CD 上分发。记录只能读取,不能写入。
可以运行安装程序,但我们不想这样做。
数据库有 100000 条记录,性能不是主要目标。
编辑:是的,用户必须输入密码才能解密数据库。
我会为此使用SQLite。
实际上重新阅读您的问题,您甚至可以使用平面文件或 XML 文件,因为不需要性能或更新/添加。
但是,如果您有任何机会在您的应用程序成熟时需要添加/更新此数据源,请使用 SQLite。
老实说......如果你能做到,我会使用加密的 XML 文件。无需安装,可在任何地方运行(文本文件没有依赖项),速度快,并且由于不需要更新,这将使其变得更加容易。
MS-SQL (Express) 具有只读数据库的显式设置。我不确定加密。
我很确定 Sql Server Compact (SSCE) 也将允许只读,并且它支持加密。但是您必须将密码存储在某个地方...
SSCE 可能允许您运行 w/oa 设置。
鉴于数据的大小,也可以使用已填充并保存到磁盘的数据集。您可以使用标准库进行加密和压缩。
SQL Server CE是支持加密的 SqlServer(CE 代表 Compact Edition)的精简版。数据库包含在一个文件中。
该软件包含一组 DLL,您可以将其与 exe 并排复制。
(不要被 CE 所迷惑:除了 Windows Mobile 版本之外,还有一个 Desktop Windows 版本。)
如果您在英国的政府机构工作,请尽量不要将 CD 留在火车上或邮寄... :)
SQLite 也是我的第一个想法,但尽管我普遍不喜欢 XML 并且考虑到只读方面,但我认为 XML 的自定义加密可能是最好的选择。逆向工程会更难。