tags:

views:

217

answers:

4

I have a commercial Windows desktop application that needs a backend database. I feel that SQL Server would not be the right choice as it is overkill.

What would you recommend and how would you deploy it?

+5  A: 

If you're looking for something to embed into your application (rather than having a seperate server running), look into SQL Server Compact Edition or SQLite.

Justin Niessner
+18  A: 

You could try SQLite. It's a full relational database that is saved to a file and loaded on program load. It is perfect if you don't want the overhead of a full SQL server.
It can be used from C, C++, C# and VB.NET (System.Data.Sqlite), Java (through JDBC) and is even included with Python! (the sqlite3 module)

Lucas Jones
I second that. Really cool product. Actually, pretty fast for most of the purposes.
elcuco
Yes, a lot of well known and widespread products already use it, from Adobe Lightroom to Google Chrome. Look at the list : http://www.sqlite.org/famous.html. By the way, there are plugin for Firefox that give you access to your database...
Sylvain
+3  A: 

There are quite a few options that really depends on what you need.

There's the scaled-down SQL Server variants: SQL Server Express (free) or SQL Server Compact Edition.

Then there's a number of .NET based database systems that compile directly into your app - check out VistaDB as one of the most prominent and much-talked-about products.

Then there's a number of other SQL-based system, e.g. Firebird (open-source) or MySQL amongst many others.

Without knowing more about what your real needs (and reasons against SQL Server) are, giving lots of advice is a bit challenging.

marc_s
A: 

Firebird is a really cool database for Desktop application

There is an embedded version which can be simple to deploy.

Many software use it for this : I will just give a few example :

and many others here

I also use it and I'm very happy with it :)

Hugues Van Landeghem