Варианты репликации базы данных Microsoft SQL Server в MySQL/PostgreSQL в Linux

Мне нужно реплицировать данные из Microsoft SQL Server в MySQL или PostgreSQL. Данные включают изображения, хранящиеся в столбцах BLOB.

Не могли бы вы прокомментировать свой опыт использования следующих стратегий и предложить другие, которые я мог упустить?

  1. собственный скрипт, написанный на Java с использованием JDBC
  2. Драйвер odbc для Linux со скриптом Perl
  3. Настройте мою собственную коробку Windows и используйте SSIS или DTS с драйвером ODBC Postgres.
  4. написать программу .net и запланировать выполнение на компьютере с Windows
  5. FreeTDS

person Andrew Hopper    schedule 15.05.2009    source источник


Ответы (3)


Вы также можете следовать инструкциям на странице http://blog.hagander.net/archives/103-Replicating-from-MS-SQL-Server-to-PostgreSQL.html

Мне пришлось заново создать таблицу msrepl7, изменив поля indagent и subtype на тип integer (какая-то проблема с запросом character = integer в Postgres 8.3)

Удачи.

person greenhorn    schedule 27.11.2009

Глядя на технологии репликации SQL Server, вы можете использовать подписчиков, отличных от SQL Server, хотя в настоящее время официально поддерживаются только Oracle и DB2, пользовательские решения были успешно реализованы.

http://msdn.microsoft.com/en-us/library/ms151835.aspx

На мой взгляд, использование служб SQL Server Integration Services было бы хорошим подходом. При необходимости вы можете легко создавать собственные компоненты для взаимодействия с подписчиками, отличными от SQL Server.

person John Sansom    schedule 15.05.2009

Python имеет хорошие библиотеки для всех трех баз данных, а SQLAlchemy упрощает написание базы данных. Я использую freetds и unixodbc для SQL Server.

Если вам действительно нужна одна и та же структура таблицы, SQLAlchemy делает это особенно простым, так как вы можете определить структуру один раз общим способом и создать структуру в каждой из трех баз данных.

person Singletoned    schedule 29.07.2009
comment
Драйвер FreeTDS не поддерживает BLOB, и я не могу создавать таблицы или представления в исходной базе данных. Я посмотрю на SQLAlchemy. Спасибо за чаевые. - person Andrew Hopper; 20.12.2009