views:

171

answers:

2

I'm developing an app which will have a central database users can add entries to. The database will have to be on a server somewhere but I want the users to be able to add entries offline. The app will sync to the main db when connection is available. So, I supose I need 2 databases - the main one sitting on a server (preferably linux) and a small one on each client machine to use as a buffer when offline. The app will be coded in c# for windows. I'm having trouble deciding what databases to use and whether I can leverage any replication technology to make this easier. Also, I don't want to pay for anything ;) So I guess my questions are...

  1. Will I have any trouble writing code in ADO.NET to move data from something like SQL Compact Edition to MySQL?

  2. Are there any replication solutions which will move stuff from local to main database for me

  3. I've recently discovered IBM's db2 expressC but I'm not sure if it's serverless as well as server installed. Does anyone know?

  4. Firebird can be server or serverless. Can I replicate between them. Is the server mode capable of heavy use?

Any help to the above questions or any other ideas greatly appreciated. Cheers.

A: 

Just answering two of your questions; I don't know about DB2 or Firebird.

Will I have any trouble writing code in ADO.NET to move data from something like SQL Compact Edition to MySQL?

That should be very trivial; install MySQL Connector/NET and you're good to go.

Are there any replication solutions which will move stuff from local to main database for me

SQL Server replication is made for this, but I don't suppose it would work with MySQL.

Andomar
+2  A: 

Firebird can be server or serverless. Can I replicate between them.

Yes.

Is the server mode capable of heavy use?

Define 'heavy use'. I've had production systems with 200 simultaneous users pumping 20 transactions/minute each on databases in the 10-20GB range. I'm sure there are many larger deployments out there.

Also, what you describe seem like the 'briefcase model'. You should look into it if you haven't already done so. Maybe the solution is not replication at the database level, but rather a smarter fat client.

Douglas Tosi
Thanks Douglas and Andomar for your answers. It seems I can only assign a tick to one of you unfortunatelly. I will lookup the briefcase model - didn't know about that. I think your example of 200 simultaneous users would be enough for now. I will either go with MySQL/SQLCE or Firebird/Firebird. I'll do some more digging.
there is many replication solution for Firebird http://www.firebirdfaq.org/faq249/
Hugues Van Landeghem