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?
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?
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.
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)
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.
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 :)