Синхронизация SQL Server 2005 с MySQL - PullRequest
2 голосов
/ 10 февраля 2009

Мне нужно скопировать несколько таблиц оптом из сторонней базы данных SQL Server 2000 в базу данных MySQL 5 и синхронизировать их - т. Е. Когда в таблицах SQL Server происходит какое-либо CRUD, я бы хотел, чтобы отражаться в версиях MySQL своевременно. Теперь я знаю, что есть способов сделать это с 2000 , но когда-нибудь в ближайшем будущем база данных SQL Server будет обновлена ​​до 2005 года, что, похоже, не предлагает тех же лазеек, что и у 2000. 1003 *

Итак, есть ли способ репликации / синхронизации данных из SQL Server 2005 в MySQL, который не требует программного сравнения таблиц в двух базах данных? Если это так, будет ли он работать с SQL Server 2000?

Ответы [ 3 ]

1 голос
/ 10 февраля 2009

Предложения по тиражированию данных из MS Sql 2005 и MySql

Один человек предлагает не связываться с такой схемой и не настраивать другой сервер sql.

SQL Express имеет некоторые ограничения на производительность, но, возможно, это вариант для вас. Я не могу найти ничего, что может работать, из коробки.

0 голосов
/ 02 марта 2009

Я также собираюсь предложить подключение SQL Server к MySQL через связанный сервер . Затем создайте триггеры AFTER для связанных таблиц, которые используют INSERTED a DELETED psuedo-таблицы, чтобы гарантировать, что все локальные операции отражаются в удаленных базах данных. Например:

CREATE TRIGGER tr_Orders_Insert ON Orders AFTER INSERT AS
    BEGIN
        INSERT INTO MySQLServer...Orders (OrderID, OrderDate)
        SELECT OrderID, OrderDate FROM INSERTED
    END
GO
0 голосов
/ 25 февраля 2009

Я уже делал это, хотя это будет полностью зависеть от вашего определения своевременности!

Я использовал myODBC (http://dev.mysql.com/downloads/connector/odbc/5.1.html) для настройки сервера MySQL в качестве связанного сервера. Затем можно использовать команду openquery (http://msdn.microsoft.com/en-us/library/ms188427.aspx) для получения данных из удаленной таблицы.

Все, что вам нужно сделать, это написать хранимую процедуру, которая выполняет вставку / обновление, где не существует данных в удаленной базе данных. SQL немного противный, но выполнимый! Если у вас есть работающий SP, вы можете настроить его на запуск в качестве триггера или на MSSQL-сервере в качестве задания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...