#sql-server #xml #ssis #etl #derived-column
#sql-сервер #xml #ssis #etl #производный-столбец
Вопрос:
У меня есть пакет SSIS, который импортирует XML-файл в SQL. Например, данные одного конкретного поля могут быть «112» или «039». Он всегда состоит из трех символов и дополняется начальным 0, если только два.
Целевым полем в SQL является varchar . По той или иной причине служба SSIS меняет его на DT_UI2, и в случае ‘039’ появляется только ’39’.
Я добавил преобразование данных, которое преобразует его в DT_WSTR, но это не помогает
Ответ №1:
Используйте производный столбец со следующим выражением:
RIGHT("000" (DT_WSTR,50)[Source Column],3)
Комментарии:
1. Привет. Спасибо за это. В итоге я отредактировал файл XSD и изменил его с unsignedshort на string. Это сработало
2. @opperman.eric затем запишите это как ответ, также вы можете использовать производный столбец в качестве обходного пути, если это необходимо. Удачи
Ответ №2:
Первоначально сгенерированный XSD определил это поле как unsigned short . Изменение его на string и повторное выполнение потока решили проблему