Local Sql express 2 way sync to remote server - mysql

i have a native windows application (software) with a local sqlexpress database. I need to bring the data from every local install (5000 in number) to central server which would be mysql.
1./ I don't think i will be able to do port forwards etc on the router at every local installation and hence wonder what's the best way to get the synchronization done.
2./ At the central server should i use ms sql instead. Is there a compelling reason to stick to ms sql at central level?
regards
Ravz

At the central server should i use ms sql instead
Yes, and not the free version.
You could then use some sort of replication.
Is there a compelling reason to stick to ms sql at central level?
You MUST be joking. Read the documentation. SQL Server has some really nice features in the non free versions for that - replication for example. The last time we tried setting this up (laptops, was ages ago) we went with transactional replication between sql servers and it worked like a charm.
Alternatively you can sit down and start writing. There is a db agnostic sync fraemwork available, or you can totally roll your own - both valid approaches. But you should really check first what you can do.
Check http://msdn.microsoft.com/en-us/library/cc645993.aspx#Replication
You can use transactional replication and use the expres editions as subscribers against a central master database.

Related

MySQL to MSSQL synchronization

I am trying to synchronise the data from MySQL to MSSQL.
Since my access on MySQL is limited to Read only I am trying to figure out how to sync the data between them.
I tried the DBConvert software which is good only for the initial replication. I know also about linked servers in SQL but this seems to synchronise data from MSSQL to MySQL and not vice versa.
Is there any other way(or software) to accomplish that?
My solution was to use a software called SQL Data Examiner 2012. It's very good for this job but it's not cheap.
I used the command line version which I scheduled with Task Scheduler of Windows and I did some optimisations how to sync the data.

Local and Remote data store sync

I have a situation where I would like a desktop application to be useable whether an internet connection is present or not.
I have a choice of MySQL on a web server and I could work with a local MySQL database or maybe MS Access database on the local drive and then just update data when connection is restored. My issues are as follows.
Sync local changes to remote server. Multi site / multi user scenario so how to keep db in sync when connection restored without loosing changes from other users in server data.
Sync remote changes to local. Multi site / multi user scenario so how to keep db in sync when connection restored without loosing changes made locally while updating with server data.
Currently I am using XML files and LingtoXML querying but it is unsatisfactory to continue with these files so a better solution is required.
Any help would be appreciated to identify what technology would work best and how to keep them in sync.
Thanks in Advance.
"Jet Replication Objects (JRO)", the replication features of the Access Database Engine, have been deprecated (ref: here). I believe that the related management features have also been completely removed from Access 2013. Therefore, native Access replication should no longer be considered a viable option.
Microsoft's recommendation would be to use SQL Server and its replication features. However, SQL Server Express has limitations on how much it can do (e.g., it can be a "Subscriber" but not a "Publisher" or "Distributor", ref: here) so presumably there would have to be a non-free copy of SQL Server involved somehow.
I haven't yet had the occasion to use MySQL replication myself, but it is probably worth considering. Chances are good that you could still use Access as a front-end (via ODBC linked tables).

SQL Server sync to MySQL program

I want to continually sync every 30 mins or less around 380000 rows of data from 11 tables from a SQL Server database to a MySQL database. How can I do this? What programs can do this?
This post, which is often used to close questions like these as a duplicate, does not work for me, for the following reasons.
The SQL Server is part of a CRM system, I'm not sure if it may be a lite version or something, but long story short I do not have access to the SQL Server Management Studio.
The MySQL database is part of my hosting package, which means I have access to it via phpmyadmin and the like, but not to the console or anything. And obviously I cannot access it via localhost.
So basically what I'm looking for is a way to connect to both databases, probably via ODBC drivers, and sync data every x minutes/hours.
I finally used a program called Omega Sync. Now called Spectral Core Replicator.
Omega Sync can compare and synchronize both database schema and table data. Schema comparison and synchronization for databases of same kind
Data comparison and synchronization even for databases of different kind
Compare and Synchronize databases of unlimited size!
Supported databases
Access
SQL Server
MySQL
Oracle
Interbase
Firebird
ODBC sources
I am not associated with this company or product in any way.
Microsoft SQL Server replication can apply the changes to generic ODBC/OleDB subscribers. You can configure MySQL as a subscriber if you follow the right steps and use the correct drivers, but is not officially supported so you are on your own if something goes wrong. Eg. see Set up replication between Microsoft SQL Server 2000 and MySQL. since the article is for SQL 2000 is already deprecated since Microsoft SQL 2008 supports OleDB subscribers, not ODBC.
You will need a very deep understanding of both Microsoft SQL Server, MySQL, ODBC/OleDB and Microsoft SQL Server replication. If you hit errors you'll have to solve them on your own, as the public information on this subject is scarce. I can only tell you that is possible and I've seen it done. Good Luck!

Databases Synchronization – best practice

We have live and stand-by database servers. Both are SQL Server 2008 databases and hosted on Windows Server 2003.
May I know the best practice that people follow to synchronize the 2 databases (live and stand-by) so that we could make sure the stand-by server up whenever the live server is down for any reason.
It would be great if you could also provide a reference document or web references (if needed).
We do something similar using Replication Services(within SQL Server).
Startup guide can be found here.
From the MS SQL Server 2008 "High Availability—Always On" page
For a list of solutions...
All solutions are used somewhere. We use clustering for example.
On top of my head, available solutions in SQL Server 2008 are Clustering, Replication, Log Shipping and Database Mirroring when dealing with high availability. Also worth mentioning that it does not replace a disaster recovery plan which also involves backups, etc.

ADO.NET (Sql Compact + MySQL + IBM db2 expressC)

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...
Will I have any trouble writing code in ADO.NET to move data from something like SQL Compact Edition to MySQL?
Are there any replication solutions which will move stuff from local to main database for me
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?
Firebird can be server or serverless. Can I replicate between them. Is the server mode capable of heavy use?
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.
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.