Как настроить входные столбцы при использовании динамических диспетчеров соединений Excel в SSIS - PullRequest
0 голосов
/ 08 февраля 2019

После создания динамического диспетчера соединений Excel с SSIS Visual Studio 2015 и итерации по нескольким файлам Excel в каталоге я столкнулся с проблемой невозможности изменить количество столбцов в диспетчере соединений.Файлы Excel не имеют одинакового количества столбцов (или имен / местоположений заголовков).Я передаю данные из диспетчера соединений прямо в компонент сценария, чтобы обработать это.

Я попытался создать диспетчер соединений Excel с большим количеством столбцов, которые я когда-либо буду использовать, прежде чем переключать его на соединение пакетов иустановка выражений ExcelFilePath в мою переменную цикла For / Each, но это, похоже, не работает.После этого я получил ошибку VS_NEEDSNEWMETADATA и после перестроения получил

"Не удается найти столбец" F18 "в источнике данных"

прилист Excel с менее чем 18 столбцами был пропущен через цикл for / each.

Буду признателен за любые предложения или помощь.Спасибо.

1 Ответ

0 голосов
/ 08 февраля 2019

Если количество столбцов в файлах Excel различается, вы не можете использовать один и тот же источник Excel для их импорта.Вы всегда получите исключение × VS_NEEDSNEWMETADATA, которое вы упомянули.

Если вы обрабатываете файлы Excel с той же структурой, но с другим порядком столбцов, вы можете обратиться к моему подробному ответу по ссылке ниже:

Если у вас есть возможность преобразовать файлы Excel в плоские файлы, существует множество ссылок, которые описывают весь процессчтобы импортировать файлы с другой структурой.

Если у вас нет этого выбора, вы должны подумать об автоматизации создания пакетов, которая является более сложной (с использованием оболочек BIML или DTS)

Обновление 1

Некоторые ссылки о преобразовании Excel в CSV:

...