Good Embedded Database Solution (Like Sqlite) for .Net

Good embedded database solution (like SQLite) for .Net

The only other option I have any experience with is Microsoft SQL Server Compact if you don't want to install anything on the user side. SQL Server Express works as well if you did want to install something. It really all has to do with what features you want to have in your embedded database.

The one advantage of SQL Compact is that when its on a local drive i.e. not on a network drive it natively supports multiple connections. If you want it to write to a database on a network drive though you'll have problems with it. From your brief description it sounds like SQL Compact is what you want. If you have more specific requirements the answer might be different.

Embedded Database for .net that can run off a network

This question is now ancient, and a lot has changed. For my specific purposes, LiteDB is the option of choice. It's open source and has a GitHub Repository.

Apart from that, SQLite is basically the industry standard for embedded databases. There are attempts to port the code to .NET, but the prime use case involves a native library (e.g., the sqlite Nuget package) and/or a .NET P/Invoke wrapper like Microsoft.Data.SQLite.

What options are there for a quick embedded DB in .NET?

SQLite.It is small and have great wrapper for .Net.

What is a good choice of database for a small .NET application?

14/06/2016 Yep... still getting upvotes :-/


17/03/2014 I'm still receiving upvotes for this, be mindful of the date this was originally answered. Though the main three items listed are still entirely viable, the list will tend towards becoming stale. There are further database technologies available that are not listed.


You have a couple of immediately recognisable and free options:

  • SQL Server Express LocalDB
  • SQL Server Compact Edition
  • SQLite

The SQL Server Compact download comes with the ADO.NET provider that you will need to reference in code. The SQLite download might not have it so here is a link:

http://sqlite.phxsoftware.com/

All three use SQL, though likely with a few limitations / quirks. Management Studio works with Compact and LocalDB, whereas with SQLite you will need another UI tool such as SQLite Administrator:

http://sqliteadmin.orbmu2k.de/

There are NoSQL alternatives, such as:

  • Sterling
  • RavenDb

Personally I would avoid using MS Access in the face of other free options. You cannot go wrong with LocalDB, Compact, or SQLite. They are all lovely small databases that run relatively quickly in little RAM - personal preference as to the religious aspects about liking a Microsoft product I suppose :-)

I use Sterling for Windows Phone programming as it is built to use Isolated Storage. I have only seen articles on RavenDb, but I can tell you that it is a JSON based document storage framework.

Not to confuse the situation (go with SQLite, SQL Server Express LocalDB, or SQL Server Compact Edition), but there are other embedded / local databases out there, some are relational others are object-oriented:

  • Embedded Firebird
  • db4o
  • VistaDb
  • SharpHSQL
  • Berkeley DB
  • Eloquera
  • SiaqoDb

Not all of these are free. SQL / LINQ / in-proc support differs across them all. This list is just for curiosity.

There is now also Karvonite, however the code gallery link is broken. When it's live again I'll be looking into this one for WP7 development.

Embedded database for .NET application

SQL CE 4 is probably a more natural fit for a .NET application and will have the greatest support in tooling such as EF4.

Orcs Web (a well respected hoster) seem to think it's pretty good:

4 Reasons Microsoft SQL Server CE is a Great Hosted Database Option

One argument for going down the SQL CE 4 road is that if you need to upsize to full blown SQL Server then it's a bit of a no-brainer excercise.

Another alternative is to use a plain old Access database the benefit of which is that you can load it into Access or pass the file around to others who have Access.

Yet another alternative lightweight and portable database is SQLite. There's a driver for .NET which you can download from:

System.Data.SQLite - An open source ADO.NET provider for the SQLite database engine

Embedded database for .net

The major options I can think of are:

  • SQLite
  • SQL Server Compact (Linq Support)
  • VistaDB (Linq Support)
  • SharpHSQL
  • Embedded Firebird
  • Blackfish SQL

Which embedded database has maximum SQL compliance, and concurrency support?

I think it's Firebird.

Even Cte's are supported in Firebird 2.1 !

Firebird works on Windows, Linux, Mac OS...

Jaybird driver for Java.

There are some good migration tools from Access to Firebird:

  • IBDatapump
  • Microsoft Access to Firebird database converter (MDB2FDB)

Is Firebird good embedded DB for ASP.NET? Which else?

I have fixed the wikipedia article , firebird 2.5 embedded is fully multithreaded and it is fully supported for asp.net
http://blog.cincura.net/231742-firebird-embedded-in-comparison-to-sql-server-compact-edition-4/

Also from what i have read on jiri's blog it is possible to run it on azure
http://blog.cincura.net/232332-using-firebird-inside-azure-without-vm-role/
and on amazon
http://blog.cincura.net/232333-amazons-ec2-micro-instance-and-firebird/



Related Topics



Leave a reply



Submit