Я использую коннектор Dynamics в Azure Фабрике данных.
TLDR
Поддерживает ли этот коннектор загрузку дочерних записей, которым необходимо передать ключ родительской записи? Например, если я хочу создать contact
и прикрепить его к родительскому account
, я добавляю запись с нулевым contactid
, действительным parentcustomerid
GUID и устанавливаю parentcustomeridtype
на 1 (или 2), но Я получаю сообщение об ошибке.
Long Story
Я успешно подключаюсь к Dynamics 365 и извлекаю данные (например, таблицу lead
) в SQL таблицу сервера
Чтобы проверить, что я могу передавать данные другим способом, я просто загружаю данные обратно из таблицы lead
в сущность lead
в Dynamics.
Я получаю эту ошибку:
Ошибка произошла на стороне «Раковина». ErrorCode = DynamicsMissingTargetForMultiTargetLookupField, 'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message =, Source =,' Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message = Не удается найти целевой столбец для многоцелевого поля поиска : 'ownerid'.
В качестве теста я удалил ownerid
из списка исходных столбцов, которые он загружает ОК.
Это, очевидно, значение внешнего ключа.
Это вызывает у меня два вопроса:
Конкретно в отношении сообщения об ошибке: если бы я знал, какой поиск ему нужно использовать, как я могу указать, по какой таблице поиска он должен проверять ? В соединителе ADF нет настроек, которые позволили бы мне это сделать.
Очевидно, это значение внешнего ключа. Если бы у меня было только имя (или бизнес-ключ) для этой строки, как я могу легко найти значение внешнего ключа?
Как это обычно делается через другие API, то есть через веб-API ?
Есть ли надстройка XRMToolbox, которая поможет прояснить ситуацию?
Я также читал несколько сообщений, которые подразумевают, что вы можете отправлять предварительно подключенные данные в документе XML, так что, возможно, это будет также помогите.
РЕДАКТИРОВАТЬ 1
Я понял, что поле lead.ownertypeid
в моем исходном наборе данных - NULL
(это то, что было экспортировано). Он также NULL, если я просматриваю его в различных инструментах Xrmtoolbox. Я попытался жестко кодировать его на systemuser
(что на самом деле находится в таблице owner
против фактической записи владельца), но я все равно получаю ту же ошибку.
Я также заметил, что есть запись с такое же значение PK в systemuser
таблице
Таким образом, одна и та же запись находится в двух таблицах, но как мне указать соединителю динамиков, какой из них использовать? и почему это вообще заботит?
EDIT 2
Я получил подобное сообщение для msauto_testdrive
для customerid
.
Я исключил все записи с customerid=null
и получил ту же ошибку.
EDIT 2
Эта ссылка , похоже, указывает, что мне нужно установите customeridtype
на 1 (Учетная запись) или 2 (Контакт). Я сделал это, но все равно получил ту же ошибку.
Также я считаю, что у меня та же проблема, что и у этого парня .
Может быть, с разъемом ADF такая же проблема.