我需要构建一个类似于应用程序的加速版,其中数据需要是安全的。我没有看到Quicken使用任何数据库。我可以使用XML,MDF或Access数据库,但表中的数据不安全。什么是最好的选择? Quicken如何处理它?我的应用程序也可能有文档附件。此应用程序的功能类似于加速,但不是会计/财务功能。
非常感谢!
答案 0 :(得分:1)
您可以使用VistaDB之类的嵌入式数据库。这是一个嵌入式数据库,也可以以多用户方式访问。这个数据库的好处是你可以加密列,表或整个数据库。它使用Blowfish加密算法,此外,它与.NET和SQL Server高度兼容,并且它可以存储BLOB以允许您将整个文档存储在数据库中。
此特定数据库可以使用存储过程以及触发器。我建议你看看它,其他一些嵌入式数据库是可用的,但是,你可能会发现它们不支持Stored Procs或Encypted列等。
www.vistadb.com
您可能也想尝试其他数据库,例如Firebird或SqlLite(虽然我使用VistaDB因为它与SQL和.NET的兼容性,我建议SqlLite也是一个非常好的,稳定的嵌入式数据库......和它是免费的,Codeplex和Sourceforge上也有.NET包装器。
VistaDB将保护数据库。
希望这有帮助。
答案 1 :(得分:0)
我真的不确定你的目标是什么。 Quicken可能会使用它自己的数据库格式(或者它可能只是类似于SQLLite或BerkeleyDB),但这并不能使它“安全”,只是“模糊”。
没有什么能阻止我打开一个加速数据文件并随意更改数据,无论是随机还是故意理解格式。
您真的要求使用独立的数据库格式吗?
更新
根据您的回答,那么一个很好的选择可能是SQLCE(Sql Server Compact Edition)。这将创建一个二进制文件,它基于SQL Server后端,但它不是客户端/服务器。它更像是一个访问数据库,但功能更强大。
此外,由于我注意到您询问许可证,因此如果您未在客户端/服务器模式下使用sql ce,则不需要客户端访问许可证。如果您在独立模式下使用它,则不需要校准。