3

Looking for a good embedded db for my asp.net apps while trying to avoid SQLExpress (I need it to be a downloable file(s) with no need to install at server), I found Firebird. But:

According to this: http://en.wikipedia.org/wiki/Embedded_database#Firebird_Embedded

It has the same features as the classic and superserver version of Firebird, except that two or more THREADS (not just applications) cannot access the same database at the same time. So Firebird embedded acts as a local server for a single threaded client accessing its databases (that means it doesn't work properly for ASP.NET web applications)

According to this http://www.firebirdsql.org/en/development-net-provider/, however, there are some ASP.NET providers released.

Weekly builds of the ADO.NET Data Provider, the ASP.NET Web Providers and the DDEX provider can be found here.

So the question is: is it or is it not a good embedded db alternative to use in asp.net?

If not, what would you recommend instead?

Adriano Carneiro
  • 57,693
  • 12
  • 90
  • 123
František Žiačik
  • 7,511
  • 1
  • 34
  • 59

3 Answers3

3

Yes, it is. And I believe it is one of your best options.

Specially because you will be running it in a non MS environment. I know PostgreSQL is a good Open Source DB, but it does not have an embedded version.

Your other option is SQLite.

Adriano Carneiro
  • 57,693
  • 12
  • 90
  • 123
  • 1
    Firebird embedded works well and you can switch very eaysilly with full version if you need it. – Hugues Van Landeghem Jun 22 '11 at 15:59
  • @Hughes You bet! I only mentioned SQLite because OP needs to know the options. – Adriano Carneiro Jun 22 '11 at 16:02
  • Hi, thanks for your answer. Is it OK in multithreaded environment like web app though? Because as far as I know SQLite has (or had) issues due to lack of proper locking mechanism (whole DB would be locked on update, making all other clients wait). Is this a problem or not? – František Žiačik Jun 22 '11 at 19:36
  • As for SQLite, I wouldn't know. What's stopping you from installing a Firebird server? It's such a straightforward process. Embedded Firebird is for stand alone apps. – Adriano Carneiro Jun 22 '11 at 19:45
  • I want to put it at shared hosting server, so I'm not sure if I would be allowed to do that. – František Žiačik Jun 22 '11 at 19:47
3

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/

Mariuz
  • 1,190
  • 2
  • 10
  • 19
0

One thing that might be worth looking at is SQL Compact. The latest version works with ASP.NET and runs in-process. All you need to deploy is a couple of DLLs.

I must confess I don't really know anything about Firebird so can't compare it directly.

Matthew Steeples
  • 7,858
  • 4
  • 34
  • 49