Автоматический импорт новых данных из базы данных MS Access в SQL Server - PullRequest
0 голосов
/ 14 сентября 2018

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

Я знаю, что у Microsoft есть инструмент для преобразования базы данных Access в SQL Server, но, насколько я могу судить, она не может быть запущена автоматически и не будетвозможность просто импортировать новые данные с момента последнего «слияния» (пожалуйста, исправьте меня, если я ошибаюсь)

Как лучше всего решить эту проблему?Может быть, какой-то сценарий?

Спасибо.

1 Ответ

0 голосов
/ 14 сентября 2018

Есть только вставки на стороне доступа, и SQL будет только для чтения

Тогда я бы сделал это:

  • Ссылка на SQLТаблицы сервера в базе данных Access
  • Запустите запросы INSERT, чтобы скопировать новые данные в таблицы сервера.Предполагается, что все таблицы имеют первичные ключи.

Например, запросы будут выглядеть следующим образом (воздушный код):

INSERT INTO dbo_Customers
SELECT src.* 
FROM Customers AS src LEFT JOIN dbo_Customers AS tgt 
  ON src.ID = tgt.ID
WHERE tgt.ID IS NULL

Customers - это локальная таблица, dbo_Customersтаблица сервера.

Запрос выбирает все записи из Customers, которые не существуют в dbo_Customers.


Поскольку несколько других процессов обращаются к исходной базе данных, вероятно, лучше всегочтобы создать новую базу данных Access, свяжите исходную и серверную таблицы и выполните запросы INSERT в новой базе данных.Вы не хотите, чтобы какой-либо код выполнялся в базе данных «data».

Он может быть автоматизирован, например, с помощью процедуры Form_Timer.

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