My app. is in C# 3.5 and MySQL 5.1. It is a Windows based standalone application. It is running successfully since last two years except few issues and that too were later found out to be MySQL bugs. The bug disturbed the real-time reports as it store the same timestamp in two rows.
I don't know whether MySQL fixed it or not so I want to get rid of this. Now the options are:
SQL Server 2005/2008 Express, Oracle 10g Express, DB2 9.2 Express, PostgreSQL, MS Access or SQLite.
Starting with the obvious choices: MS Access & SQLite. The problem with MS Access is that the MDB gets corrupted is a sudden power failure occurs and the file is not repairable. This happened with us on a production DB.
The problem with SQLite is that it's GUI still doesn't have rich query browser and also you cannot create composite keys through GUI. Secondly, I never used it and can't take chance. I don't know how many constraints it supports.
Coming to the rest. SQL Server is good, but people here at SO said that it has its own set of bugs. Also it limits database size. Oracle, even though Express Edition, needs sooner or later a DBA, if something goes wrong.
I have not used IBM DB2 but people say that it is a very robust database and its GUI is feature rich. Apart from that it is very easy to manage and has no size limits. Same is true with PostgreSQL, but GUI not so feature rich, however it is sufficient. I don't know how it's licensing works. The other problem is that its .NET connector is not fast. It works slow as compared to its ODBC connector.
Your valuable insights and recommendations are welcome.