在CD-ROM上分发小型数据库的好方法是什么?
数据库必须加密。 它必须在WinXP和Vista上运行。 该应用程序使用C#编写,也可以在CD上分发。 记录只能读取但不能写入。
可以运行安装程序,但我们不想这样做。
数据库有100000条记录,性能不是主要目标。
编辑: 是的,用户必须输入密码才能解密数据库。
答案 0 :(得分:7)
答案 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的自定义加密可能是最好的选择。逆向工程会更难。