Coding

Lightweight Database Engines

I was in lookout today for a small footprint / compact / embedded database engines suitable for .NET applications (mainly web) and found the following candidates. This is just a list compiled from the Internet.

  1. Microsoft Access (JET Engine) – Very Popular from Windows 3.1 days due to the fact it is out-of-box in most versions of Windows OS.
  2. Microsoft SQL Server 2005 Express – The plus here is that it is easy to upgrade to full-fledged SQL Server as Express edition uses the same file format and is binary compatible. Also ships with a free management tool “SQL Server Management Studio”
  3. Microsoft SQL Server 3.5 Compact – Can be embedded easily with less than 2MB in distribution size. Works with Windows Mobile as well.
  4. SQLite – A free / no license extremely lightweight Database engine which is less than 250KB in distribution size. There is no server process that needs to be started, stopped, or configured here. A detailed article here.
  5. VistaDB – Quite popular, 3rd party, commercial Database Engine that can be easily embedded. Written in NET Managed Code.

In the above list, other than VistaDB all the other are free (as in free beer) to deploy/distribute.

3 Comments

  • Thanks Elango, I should have been a little more explicit. MS Office Access 2007 client software or earlier versions that normally comes as part of MS Office is a paid software. What I meant free was the Jet Engine that executes the MDB file and acts as the DB Server is free. You don’t need MS Access to create MDB files, you can use VB6.0/Visual Studio or even the ODBC applet in Windows Control Panel to create them, use code to modify the schema (or) there are lot of free tools in the Internet that can help you to create and modify MDB files.