We need an Embedded Database for .NET applications - Jon Galloway

We need an Embedded Database for .NET applications

No, I'm not talking about Jet / Access. Microsoft and the general development community are moving away from it; plus, the MDAC redistributable is kinda big.

No, I'm not talking about MSDE or SQL Server Express (even though the MDF file connections are cool). Both require huge installs. Worse, they're really installing a database server on the end user's computer. That's not appropriate for a small, freeware utility - if I started intalling a freeware app and it wanted to install a 40MB database server that would run on startup, I'd cancel the intall.

I've been working with SQLite to moderate success. I'm evalutating SharpHSQL now. WATYF and Rick Strahl list some of the options out there along with their problems - none of them are really there. They shouldn't be necessary anyhow - a solid development framework like .NET should include a basic, embedable DB. Heck, it has support for IrDA End Points, how about a lightweight database?

And - No, no, no, a thousand times no: XML is definitely not what I'm talking about. .NET pushes it, but it's a terrible data storage format.

Published Friday, July 8, 2005 5:20 AM by Jon Galloway
Filed under:

Comments

# re: We need an Embeded Database for .NET applications

I'll second Firebird as an embedded DB or even as a regular replacement DB.

SQLite is very nice though I do admit.

Friday, July 8, 2005 7:27 AM by Chris Martin

# re: We need an Embeded Database for .NET applications

Have you looked at running SqlCE on your Windows platform? I believe it works on CE devices as well as tablet pcs. I have been told it runs on all windows platforms, but it only is licensed on the CE and tablet pcs.

Wally

Friday, July 8, 2005 8:35 AM by Wallym

# re: We need an Embeded Database for .NET applications

SQLIMDB from Quilogic is pretty good but purely IMDB. Check www.quilogic.cc

Friday, July 8, 2005 10:46 AM by Scott Prugh

# re: We need an Embeded Database for .NET applications

Well the hits just keep on coming...

I tried Minosse.... couldn't even get it to create a database... using their own sample code... *ack*

And to top it all off, I just found out that firebird's embedded version can't be run on a network drive (which my app is sometimes run from)... so there goes my fall-back option.


*sigh*


Doesn't anyone make a database that doesn't have some kind of critical flaw?



WATYF

Monday, July 18, 2005 4:08 PM by WATYF

# I hava a DLL for file operation. It is very simple and fast !

It is a file operation. Fast and stable, I used it on my system(C & Java). It is simple ,not depends on other DLL. Open the file and you can INSERT, UPDATE, DELETE a (key,value) pair.
It is really small. not more than 100K.
If you want to try, you can give a email to me : forest_luo@21cn.com

Thursday, July 21, 2005 3:55 AM by Forest Luo

# re: db4o

db4o http://www.db4o.com">http://www.db4o.com does not force you to store blobs in external files, this is only an option, to allow you to keep your main database file smaller, if you like to do that. You can also store byte arrays in the main file, just like any other object.

Using binary serialization to store objects, as you are planning to do, is not a good idea. Your system will break if you modify classes. db4o takes care of this problem for you by updating it's internal schema automatically, whenever you modify your classes, you do not even have to run any reorganisation on existing database files.
--
Carl Rosenberger
Chief Software Architect
db4objects Inc.
http://www.db4o.com">http://www.db4o.com

Saturday, July 23, 2005 9:56 AM by Carl Rosenberger

# re: We need an Embedded Database for .NET applications

Too bad MS Access won't work.

Using OleDb I can connect to it but it doesn't seem to know SQL very well at all.

I can execute statements in the MS Access query builder just fine. The same statements through OleDb are crashing.

How close is Firebird's SQL to MySQL?

Thursday, July 20, 2006 1:58 PM by Marl Atkins

# re: We need an Embedded Database for .NET applications

Please take a look at Perst for .NET.  It is an embedded database that is thread-safe and supports multiple processes, and has a simple SQL interface.

Tuesday, July 25, 2006 11:20 AM by Steven Graves

# re: We need an Embedded Database for .NET applications

Has anyone thought about going back to using ini files?

They were good on Windows 3.1

Thursday, September 21, 2006 8:44 PM by David Brown

# re: We need an Embedded Database for .NET applications

I created a .NET Windows application that required an embedded database. After seeing this blog I decided to try Firebird embedded.

YES!! It's real light weight, uses standard ANSI SQL (more or less) and so far it's plenty quick enough.

I found a couple small drawbacks - it's difficult to get unique for a combination of a lot of fields.

The newer version claims to solve that but I can't find drivers for .NET.

Overall, I'm real happy with it and have settled on it as the final database for this .NET 2.0 app.

Wednesday, August 22, 2007 12:14 PM by Florida Web Design, Inc.

# re: We need an Embedded Database for .NET applications

Has anyone considered porting Java DB (AKA Apache Derby (AKA Cloudscape)) to C#? I have not found bad anything about it (only good things), and I would imagine porting Java DB to C# would be rather easy. It also has the backing of 3 major parties: IBM, Apache and Novell, so i think it should be stable.

I did found an article on how to have ADO.NET interface with Java DB (Cloudscape) but the process seemed a little involved. And I would rather have my Applications to be completely .NET

Wednesday, September 5, 2007 6:09 PM by Jono

# re: We need an Embedded Database for .NET applications

MySql Embedded. Full feature. Free and open if your end product is. Optionally OEM license if your product is commercial.

Friday, November 2, 2007 8:23 AM by Fred

# re: We need an Embedded Database for .NET applications

difference between *.fdb and *.gdb in firebird

Sunday, December 30, 2007 11:28 PM by duy tan

# re: We need an Embedded Database for .NET applications

Did you try scimoredb?. I too am in a dilemma and am planning to use scimore. I think we have to create a perfect DAL

Tuesday, January 22, 2008 1:49 PM by Azad

# re: We need an Embedded Database for .NET applications

I managed to get the java H2 database running in C# using IKVM.Net.

It converted the .Jar file into a .Net Dll file and ran perfectly.

Even .Net  triggers and .Net User defined functions worked in the database.

Since IKVM converts java bytecode into MSIL there should be only a small performance hit, if any.

Tuesday, February 19, 2008 12:34 PM by Jono

# re: We need an Embedded Database for .NET applications

SQL Server compact edition seems to be a good choice ? Only 2Mb footprint and can even be synchronized with a back end using the new Synch libraries and ADO.NET

Saturday, March 29, 2008 9:13 AM by SK

# re: We need an Embedded Database for .NET applications

I was wondering what the original postie finally used and how did it go.

Monday, June 16, 2008 8:07 AM by Appliedeye

# re: We need an Embedded Database for .NET applications

Has anyone tried Embedded MySQL?

Monday, July 7, 2008 6:48 PM by Bala

# re: We need an Embedded Database for .NET applications

I am looking for an embedded database that can store about 5 million rows. Luckily the table that stores the 5 mil rows can be read only.

I was planning to use two embedded databases. one for the large data set and one for everything else. Has anyone tried any of the databases mentioned here with such a large dataset?

Thursday, July 24, 2008 3:14 PM by Bala

# re: We need an Embedded Database for .NET applications

www.elevatesoft.com

'nuff said

Wednesday, August 13, 2008 5:17 PM by Ding Birdy

# re: We need an Embedded Database for .NET applications

Depends on whether you need SQL like database or object database.

I have tried out most of object database in the last a few days, and found Perst to fit my need best.

Db4o is nice, but their Client/Server mode can not supports read/write from different application.

Thursday, August 27, 2009 10:56 AM by guoqizheng

# re: We need an Embedded Database for .NET applications

SQL Server Compact Edition!

- 1.8 meg

- No install needed (simply copy the DLLs with your app)

- Full TransactSQL support

- Single database file

- Runs in-process with your app (no service)

- GUI support right in Visual Studio

- Can sync with a real database server

- Very very cool and stable!

Thursday, October 29, 2009 5:42 PM by John Hamm

# re: We need an Embedded Database for .NET applications

Try Scimore embded database

Monday, November 9, 2009 1:59 AM by Bapi

# re: We need an Embedded Database for .NET applications

why MySQL don't support embedded database for dot net environement ??

MySQL was a very good databases !!!

if someone has found a solution for this, please tell us !!

Tuesday, April 6, 2010 9:50 AM by bobdoss2

# re: We need an Embedded Database for .NET applications

STSdb is a small footprint, embedded object database system designed for mission critical and real-time applications. It provides intuitive use, blazing performance and brand new database techniques.

- Fully embedded .NET database

- Blazing performance  

- Transaction support (ACID); instant commit & rollback

- Unlimited records per table; Unlimited tables per database

- Vertical data compression; custom compression

- Scheme hierarchy

- Snapshots

- Composite keys; custom keys

- Based on internal file System

- ...

Tuesday, June 8, 2010 8:49 AM by a.todorov

# re: We need an Embedded Database for .NET applications

Hello Everyone,

I am considering to use MS-Access as a client/server and I would like to know what are the risk involve to using this database in a client/server or 3-tier architecture since this database was created as a personal database?

Sunday, September 19, 2010 3:47 PM by Ghislain

# re: We need an Embedded Database for .NET applications

scimore is very good and stable, but their ADO.NET driver cannot be used with Net 4.0 and VS 2010

Wednesday, May 18, 2011 3:57 AM by Uwe