Microsoft Access для SQL Server — синхронизация

У меня есть клиент, который использует решение для точек продаж, включающее базу данных Access в качестве внутреннего хранилища. Я пытаюсь предоставить этому клиенту услугу, которая включает в себя по причинам SLA необходимость копирования частей этой базы данных Access в таблицы на моем собственном сервере базы данных, на котором работает SQL Server 2008. Мне нужно делать это на периодической основе, вероятно примерно 5 раз в день.

Есть ли простой программный способ сделать это или доступный инструмент? Я не хочу делать вручную то, что, как я полагаю, является относительно распространенной задачей.

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

К сожалению, я думаю, что мне придется свернуть свой собственный инструмент, чтобы сделать это. Любые предложения или дополнительные инструменты, которые могут сделать это сами, прежде чем я продолжу?


person David Pfeffer    schedule 21.04.2010    source источник


Ответы (2)


Дэвид, я рассмотрел несколько решений для аналогичной проблемы: преобразование из dbf в mysql, вот 3 решения (все коммерческие, но относительно недорогие), которые могут вам подойти:

Кроме этого, я не смог найти хороший надежный инструмент преобразования данных с открытым исходным кодом или бесплатно. По крайней мере, не для преобразования DBF в MySQL. Там может быть что-то там для SQL/Access. Вы можете развернуть свое собственное решение, но стоит ли оно вашего времени?

РАСКРЫТИЕ: В итоге я использовал Full Convert.

Также все эти продукты генерируют какой-то пакетный файл, который можно запланировать с помощью диспетчера задач.

person konung    schedule 21.04.2010

Есть две вещи, которые следует учитывать:

  • возможность подключения
  • ETL-инструмент

Для подключения вам необходимо установить какой-либо VPN-туннель между клиентским сервером и вашим сервером.

Затем используйте SSIS для подключения к MS Access, чтобы создать пакеты для извлечения данных из MS Access в базу данных SQL Server. На SQL Server вам нужно будет создать новую схему, чтобы отразить или закрыть MS Access.

Что касается подключения, другой вариант - поскольку база данных MS Access находится в файле, вы можете передать файл по FTP на свой сервер и указать SSIS на файл.

person IMHO    schedule 21.04.2010
comment
Действительно плохая идея, потому что вы открываете файл данных Access через соединение сомнительной надежности (например, через Интернет). Лучше скопировать MDB/ACCDB через VPN, а затем получить к ней локальный доступ. - person David-W-Fenton; 22.04.2010
comment
ну, это зависит от размера, и я предусмотрел возможность копирования - вы просто не дочитали - person IMHO; 22.04.2010