Недавно я играл с миграцией данных в Microsoft Dynamics CRM с использованием служб интеграции MS SQL Server. Во-первых, основная проблемная область:
У меня есть экспортированный плоский файл из предыдущей доморощенной системы CRM, цель состоит в том, чтобы эффективно очистить данные, а затем перенести данные в Dynamics CRM. Я решил добавить по одному объекту за раз, чтобы упростить оркестровку. В настоящее время в CRM есть Атрибут, который содержит первичный ключ, который мы использовали в старой CRM. Основной процесс в моей голове в настоящее время заключается в том, чтобы импортировать плоский файл в SSIS с помощью адаптера Excel, а затем установить соединение с базой данных Microsoft Dynamics для запроса данных, связанных с импортом. Так как я не обновляю базу данных в любом случае, я думаю, это нормально. Как только у меня будет список «Руководства по учетным записям» и «Внешние ключи», я сравню список строк Excel со списком из базы данных CRM и создам новый производный столбец с GUID, указывающим, что операция должна быть обновлена, и что гид, который нужно использовать, находится в этом ряду.
Затем я создаю объект сценария и вызываю веб-службу CRM, иду по файлу Excel «Ряд за строкой», и, если он имеет значение в производном столбце, он обновляет CRM, иначе он просто создает новую сущность.
Если все пойдет хорошо, я запакую SSIS и выполню его с сервера SQL.
Есть ли в этой логике зияющий недостаток? Я уверен, что есть способы сделать это быстрее, но я не могу придумать ни одного, который имел бы радикальное значение. Есть мысли?