SQLite is a well known alternative for developers wishing to provide a light database embedded with the application. Moreover SQLite is in the public domain and thus allows many developpers to rely on this SQL database engine.
For .Net developpers who needs a local databse, you can use SQLite in application developped in C# or VB.net by using one of the following wrappers:
- System.Data.SQLite is the original SQLite database engine. It is a complete ADO.NET 2.0 provider and can be used as full replacement for the original sqlite3.dll. It has no linker dependency on the .NET runtime so it can be distributed independently of .NET.
- Finisar.SQLite was the original ADO.NET Data Provider for accessing SQLite-Databases using the .NET-Framework. It is no longer under active development and has been replaced by System.Data.SQLite.
- SQLite.NET wrapper is a simple wrapper composed by a couple of classes in C# to allow access to SQLite databases. This is not an ADO.NET provider, but instead it provides a simple set of methods to access and retrieve data in a result set class.
Last but not least, if you need some visual database manager (GUI), you can try SQLite2008 Manager, SQLite Administrator or SQLiteTool. See also SQLite Trac for a more comprehensive list or this link.