views:

71

answers:

3

I'm redesigning an application that will be run as both a single user and multiuser application. It is a .NET 2.0 application. I'm looking for server and embedded databases that work well together. I want to deploy the embedded database in the single user setup and of course, the server in the multiuser setup.

Past releases have been based on MSDE but in the past year we've been having a lot of install issues: new installs hanging and leaving the system in an unknown state, upgrades disconnecting the database, etc. I migrated the application to SQL Server 2005 and the install is more reliable (as long as a user doesn't try to install over a broken MSDE installation).

Since next year's release will be a complete redesign I figured now's the best time to address the database issue as well. The database has been abstracted from the rest of the application so I just need to choose which database(s) to use and write an implementation for each one.

So far I've considered:

  • SQL Server/ SQL Server Compact Edition
  • Firebird (same DB engine is available in two different server modes and an embedded dll)

Each has its own merits but I'm also interested in any other suggestions. This is a fairly simple program and its data requirements are simple as well. I don't expect it to strain whatever database I eventually choose. So easy configuration and deployment hold more weight than performance.

+2  A: 

My personal preference is to use VistaDB for embedded, and SQL Server for server.

VistaDB is a very nice embedded option, and it's very easy to make code that's nearly 100% compatible between VistaDB and SQL Server. In some ways, it's actually easier than doing so with SQL Server Compact Edition, since it doesn't provide the same limitations.

We've been using this in our current development, and been very, very happy with it.

Reed Copsey
+1. That's a very nice option. I hadn't hear of VistaDB. I'll have to check that out myself.
David Stratton
See the Advantages of VistaDB SO thread for more information as well
Jason Short
A: 

"This is a fairly simple program and its data requirements are simple as well."

I am currently on the lookout for applications of my own DBMS platform, SIRA_PRISE.

As far as I'm concerned, cooperation is possible on any basis.

Erwin Smout
He mentioned multi user and single user, your site appears to be a new implementation of an idea, not an actual shipping product that someone could use in production today.
Jason Short
A: 

I eventually settled on Firebird for the simple back that the SQL dialect didn't change from embedded to server versions. No other combination of server and embedded DBs I looked at could make that claim.

codeelegance