-1

I'm looking for a SQL database engine that I can distribute with a C# Winforms application. The requirements are:

  1. Will store about 1GB of text (measured before any compression).
  2. Database must be encrypted, the encryption key will be supplied by the application at runtime.
  3. Compression (prior to encryption) would be nice, so that corrupt databases can be replaced remotely over a low-bandwidth network connection.
  4. Reliability, replacing a corrupt database can involve an expensive site visit.
  5. Low licencing costs and support costs.
  6. Users will only access the data via the application, so no fancy UI required.

Options I've considered:

  1. Sybase SQL Anywhere - OK, but not "free".
  2. MS SQL Server Express - no whole-database encryption!
  3. SQLite - encryption requires a licence payment?
  4. VistaDB - not "free".

What other products fit the bill?

Clifford
  • 88,407
  • 13
  • 85
  • 165

1 Answers1

1

Get the Visual Studio "SQLite/SQL Server Compact Toolbox" Extension. Using this:

Microsoft.SqlServer.Compact from Nuget will create encrypted databases provided you manually run the command

Create Database "something.sdf" databasepassword 'somepassword' 

in the extension's query window.

System.Data.SQLite.Core from Nuget will use encrypted databases provided you use the above extension to create the database and key in a password at database create time.

amonroejj
  • 573
  • 4
  • 16