Проблема ADFv2 с отображением столбцов (репостинг)
У меня есть исходник.csv с 21 столбцом и таблица назначения с 25 столбцами.
Не ВСЕ столбцы в источнике имеют дом в таблице назначения, и не все столбцы в таблице назначения происходят из источника.
Я не могу получить задание CopyData, чтобы позволить мне выбирать, каким я хочу, чтобы отображение было. Единственный способ, которым я могу заставить его работать до сих пор, - это загрузить исходные данные в "промежуточную" таблицу, которая имеет отображение 1:1, а затем выполнить хранимую процедуру для вставки данных из этой таблицы в конечный пункт назначения.
Я попытался изменить схемы как источника, так и места назначения, чтобы они соответствовали друг другу, но это все равно дает ошибку, потому что у фактического источника больше столбцов, чем у места назначения или наоборот.
Возможно, это не самый эффективный способ сделать это, но я не знаю, как заставить это работать.
Да, я пробовал пользовательский интерфейс, да, я пробовал схемы столбцов, нет, я не могу изменить исходный файл и не должен это делать.
Код ошибки, который возвращается, является некоторой вариацией:
"errorCode": "2200",
"message": "ErrorCode=UserErrorInvalidColumnMappingColumnCountMismatch,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Invalid column mapping provided to copy activity: '{LONG LIST OF COLUMN MAPPING HERE}', Detailed message: Different column count between target structure and column mapping. Target column count:25, Column mapping count:16. Check column mapping in table definition.,Source=Microsoft.DataTransfer.Common,'",
"failureType": "UserError",
"target": "LoadPrimaryOwner"
1 ответ
Тим Ф. Пожалуйста, просмотрите утверждения в этом сопоставлении схемы в операции копирования:
Сопоставление столбцов поддерживает сопоставление всех или подмножеств столбцов в "структуре" исходного набора данных со всеми столбцами в "структуре" набора данных приемника.
Ниже приведены условия ошибки, которые приводят к исключению:
1. Результат запроса хранилища данных источника не имеет имени столбца, указанного в разделе "Структура" входного набора данных.
2. В хранилище данных приемника (если с предопределенной схемой) нет имени столбца, указанного в разделе "Структура" выходного набора данных.
3. Либо меньше столбцов, либо больше столбцов в "структуре" набора данных приемника, чем указано в отображении.
4. Двойное отображение.
Итак, вы можете знать, что все столбцы в наборе данных приемника должны быть сопоставлены. Поскольку вы не можете изменить пункт назначения, возможно, вам не придется бороться с неподдерживаемой функцией.
Конечно, вы могли бы использовать stored procedure
упоминается в вашем описании. Это идеальный обходной путь и не очень хлопотно. О деталях использования вы можете сослаться на мои предыдущие случаи:
Кроме того, если вы действительно не хотите избегать вышеуказанного решения, вы можете отправить отзыв команде ADF о желаемой функции.