Я создал пакет SSIS, поэтому я могу импортировать данные из старой базы данных FoxPro через запланированные промежутки времени. Копия базы данных FoxPro установлена для нескольких клиентов. В целом, пакет работает очень хорошо и выполняет все, что мне нужно.SSIS OLE DB Источник данных: вывод столбца, который может иметь разную длину
Однако у меня есть одна неприятная ситуация, когда по крайней мере один клиент (возможно, больше) имеет измененную базу данных FP, где они увеличивают длину одного столбца в одной таблице. Когда я запускаю пакет на такого клиента, он терпит неудачу из-за усечения.
Я думал, что могу просто дать себе комнату для маневра и изменить длину от 3 до 10. Таким образом, мутанты длиной 10 будут размещены, как и все остальные, используя 3. Однако SSIS жалуется, когда длина столбцов не совпадает, период.
Я полагаю, у меня есть несколько вариантов:
- На задачи, установите 'ValidateExternalMetadata' ложь. Однако я не уверен, что это самый ответственный вариант ... или не так ли?
- Получите нашу команду по внедрению, чтобы изменить длину до 10 для всех клиентов. Это может быть проблемой, но, по крайней мере, это будет их проблемой.
- Создайте копию задачи, которая работает для решений с различной длиной столбца. Реализация, скорее всего, будет использовать неправильный пакет в какой-то момент, и каждый спросит меня, почему я не просто предоставил им один пакет, который не мог бы обрабатывать все сценарии и обвинять меня в этом.
- Используйте другой подход, который вы могли бы заполнить.
Я закончил использовать CAST (я ошибался при попытке использовать CONVERT на ранней стадии для SSIS, имеющего ограничение на то, что вы не могли использовать рассчитанные столбцы в качестве источника данных, когда на самом деле я имел в виду эквивалентный CAST OLE DB/ANSI 92), но я думаю, что это принципиально похоже на то, что вы предложили. Благодарю. – HackedByChinese