Поскольку большинство кодеков не написано с учетом безопасности и управления, учитывая выбор между добавлением функций (особенно что-то видимое, которое можно продать) и безопасностью / стабильностью / надежностью (что гораздо труднее продать), они будут почти неизменно выбирают первое. Безопасность является лишь проблемой, когда она становится проблемой.
Да, Вы можете. Просто войдите в выходной список столбцов на источнике Excel и установите тип для каждого из столбцов.
Для получения до входного щелчка правой кнопкой списка столбцов по источнику Excel выберите 'Шоу Усовершенствованный Редактор', нажимает вкладка, маркировал 'Input and Output Properties'.
А потенциально лучшее решение состоит в том, чтобы использовать полученный компонент столбца, где можно на самом деле создать "новые" столбцы для каждого столбца в Excel. Это обладает преимуществами
Если ваш файл Excel содержит число в рассматриваемом столбце в первой строке данных, кажется, что механизм SSIS сбрасывает тип на числовой тип. Он продолжал сбрасывать шахту. Я зашел в свой файл Excel и изменил числа на «Числа, хранящиеся в виде текста», поставив перед ними одинарную кавычку. Теперь они читаются как текст.
Я также заметил, что SSIS использует первую строку для ИГНОРИРОВАНИЯ того, что программист указал на фактический тип данных (я даже сказал Excel отформатировать весь столбец как ТЕКСТ, но SSIS все еще использовал данные, которые представляли собой набор цифр) и сбросили их. Как только я исправил это, поставив одинарную кавычку в моем файле Excel перед числом в первой строке данных, Я думал, что все будет правильно, но нет, есть дополнительная работа.
Фактически, даже если столбец внешнего источника данных SSIS теперь имеет тип DT_WSTR, он все равно будет читать 43567192 как 4.35671E + 007. Поэтому вам нужно вернуться в свой файл Excel и поставить перед всеми числами одинарные кавычки.
Довольно ХЛОПОЙ, Microsoft! Но есть ваше решение. Я понятия не имею, что делать, если файл Excel не находится под вашим контролем.