我正在寻找可以使用C#Winforms应用程序分发的SQL数据库引擎。要求是:
- 将存储约1GB的文本(在任何压缩之前测量)。
- 数据库必须加密,加密密钥将由应用程序在运行时提供。
- 压缩(加密之前)会很好,因此可以通过低带宽网络远程替换损坏的数据库 连接。
- 可靠性,替换损坏的数据库可能需要进行昂贵的现场访问。
- 许可成本和支持成本低。
- 用户只能通过应用程序访问数据,因此不需要花哨的UI。
醇>
我考虑的选项:
- Sybase SQL Anywhere - 好的,但不是"免费"。
- MS SQL Server Express - 没有全数据库加密!
- SQLite - 加密需要许可证付款吗?
- VistaDB - 不是"免费"。
醇>
还有哪些其他产品符合要求?
答案 0 :(得分:1)
获取Visual Studio“ SQLite / SQL Server Compact Toolbox ”扩展。使用这个:
来自Nuget的Microsoft.SqlServer.Compact 将创建加密数据库,前提是您手动运行命令
Create Database "something.sdf" databasepassword 'somepassword'
在扩展程序的查询窗口中。
来自Nuget的System.Data.SQLite.Core 将使用加密数据库,前提是您使用上述扩展来创建数据库并在数据库创建时键入密码。