0

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.

RKh
  • 13,818
  • 46
  • 152
  • 265
  • Does the database need to run on the same machine as the app? Or can the database be installed on a server? I assume it all has to be on the same machine, but wanted to get clarification – Kuberchaun Oct 28 '10 at 18:09
  • Have you tried workarounds for the bugs you encountered in MySQL? I'd think that'd be simpler than trying to re-engineer for another db. If you want a database with no bugs you're going to be waiting a long time - if you do all the work of switching, you may just end up with a different set of bugs (albeit, perhaps, with better support for some of them). If you just can't workaround the bugs, though, fair enough. – Jeffrey Kemp Oct 29 '10 at 02:15
  • @Jeffrey: No I didn't mean to wait till a bug free database arrives. I just have concerns with my plan to change RDBMS. I would have continued with MySQL, but I can see clearly that MySQL developments are now slow enough as they were before acquisition. – RKh Oct 29 '10 at 06:50

2 Answers2

3

Being you ruled out Access and express additions for their limited data size there is really no reason not to use Postgres even if you hadn't ruled the others out. See my answer to the question below along with the others who answered.

SQL Server Express alternatives beyond 2GB limit

Cystal Reports http://wiki.postgresql.org/wiki/PostgreSQL_and_Crystal_Reports

Community
  • 1
  • 1
Kuberchaun
  • 29,160
  • 7
  • 51
  • 59
  • There is one more concern with PostgreSQL. It is whether Crystal Reports is compatible with it or not. – RKh Oct 28 '10 at 18:21
  • Being Postgre is free why don't you install it and see if you can get Crystal Reports to work. – Kuberchaun Oct 28 '10 at 19:33
  • PostgreSQL developments are happening in the core database but not in the .NET side. – RKh Oct 29 '10 at 06:48
0

I work at IBM on DB2 LUW, so of course I'm biased, but if you do decide to give DB2 a try here's the details on Building .NET applications in Visual Basic and C# complete with compile and link options.

David Sky
  • 59
  • 3