SSIS Источник данных Excel - действительно ли возможно переопределить типы данных столбца?

Поскольку большинство кодеков не написано с учетом безопасности и управления, учитывая выбор между добавлением функций (особенно что-то видимое, которое можно продать) и безопасностью / стабильностью / надежностью (что гораздо труднее продать), они будут почти неизменно выбирают первое. Безопасность является лишь проблемой, когда она становится проблемой.

18
задан Hugh Mullally 12 February 2009 в 10:55
поделиться

2 ответа

Да, Вы можете. Просто войдите в выходной список столбцов на источнике Excel и установите тип для каждого из столбцов.

Для получения до входного щелчка правой кнопкой списка столбцов по источнику Excel выберите 'Шоу Усовершенствованный Редактор', нажимает вкладка, маркировал 'Input and Output Properties'.

А потенциально лучшее решение состоит в том, чтобы использовать полученный компонент столбца, где можно на самом деле создать "новые" столбцы для каждого столбца в Excel. Это обладает преимуществами

  1. , Вы имеете больше контроля над тем, во что Вы преобразовываете.
  2. можно вставить правила, которые управляют изменением (т.е. если пустой указатель дает мне пустую строку, но если существуют данные, затем дают мне данные как строку)
  3. источник данных не связывается непосредственно с остальной частью процесса (т.е. можно изменить источник и единственное место, которое необходимо будет сделать, работа находится в полученном столбце)
11
ответ дан 30 November 2019 в 07:39
поделиться

Если ваш файл Excel содержит число в рассматриваемом столбце в первой строке данных, кажется, что механизм SSIS сбрасывает тип на числовой тип. Он продолжал сбрасывать шахту. Я зашел в свой файл Excel и изменил числа на «Числа, хранящиеся в виде текста», поставив перед ними одинарную кавычку. Теперь они читаются как текст.

Я также заметил, что SSIS использует первую строку для ИГНОРИРОВАНИЯ того, что программист указал на фактический тип данных (я даже сказал Excel отформатировать весь столбец как ТЕКСТ, но SSIS все еще использовал данные, которые представляли собой набор цифр) и сбросили их. Как только я исправил это, поставив одинарную кавычку в моем файле Excel перед числом в первой строке данных, Я думал, что все будет правильно, но нет, есть дополнительная работа.

Фактически, даже если столбец внешнего источника данных SSIS теперь имеет тип DT_WSTR, он все равно будет читать 43567192 как 4.35671E + 007. Поэтому вам нужно вернуться в свой файл Excel и поставить перед всеми числами одинарные кавычки.

Довольно ХЛОПОЙ, Microsoft! Но есть ваше решение. Я понятия не имею, что делать, если файл Excel не находится под вашим контролем.

9
ответ дан 30 November 2019 в 07:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: