2017-02-02 18 views
0

с помощью Microsoft Visual Studio Community 2015 Цели проекта -create «* \ Temp \ электронной почты» каталога -start программы, чтобы извлечь все электронные письма, которые включают в себя XLS вложения в ранее созданной папку - используйте для каждого цикла цикл каждого файла в папке, процесс и переход в таблицу sql. Проблема, с которой я столкнулся, вызвана либо чистым документом excel (который иногда отправляется из удаленного места), либо некоторые из исходных отчетов xls содержат только 5 столбцов вместо 6, которые я сейчас сопоставил. Есть ли способ отделить файлы, содержащие правильные столбцы, от тех, которые не совпадают? ** Пока эти две проблемы не существуют, я могу запустить пакет ssis, и все работает без проблем.SSIS пустых столбцов Excel, вызывающих ошибку

Контроль потока; File System Task (создает каталог ---> Выполнить Process Task (извлечение XLS) -> ForEach Loop (Задача потока данных "email2Sql")

потока данных; Excel Источник (использует выражение ExcelFilePath, @ пользователя: путь_к_файлу) задержка валидации == true (столбцы изначально заданы как f1-f6 и отображаются для ex. a, b, c, d, e, f. Более старые файлы, которые смешиваются только, включают a, b, c, d, e). Здесь я хочу, чтобы иметь возможность отделить файлы xls. Разделение условной трансформации (имена столбцов не указаны в строке 1, это помогает удалить значения «нуль»). Назначение Ole Db (таблица sql)

Извините за количество прочитанных, но за первое сообщение I t чтобы включить все, что, по моему мнению, может иметь значение.

ответ

0

Есть несколько инструментов, которые позволят вам открыть документ excel и прочитать его. Тем не менее, я считаю, что проще всего использовать SSIS из коробки:

1 - добавить задачу файловой системы после потока данных, который читает файл.

2 - Сделать ограничение приоритета от потока данных задачей файловой системы «сбой». Это приведет к срабатыванию только при сбое задачи потока данных.

3 - поставил задачу файла, чтобы переместить «плохие» файлы в другую папку

Это позволит вам перебрать все файлы и перемещать неисправные из них. В конечном итоге пакет завершится сбоем. Если вы не хотите этого поведения, вы можете изменить свойство ForceExecutionResult для успеха. Тем не менее, может быть хорошо знать, что с некоторыми файлами возникают проблемы, с тем чтобы их можно было устранить.

m

+0

Благодарим за внимание. Мне жаль, что мне потребовалось немного времени, чтобы вернуться к вам. Новый для ssis и хотел, чтобы google несколько вещей, прежде чем отвечать. Я думаю, что понимаю то, что вы рекомендовали, и поэтому я попробую его сегодня и, надеюсь, разобраться. –

+0

Еще раз спасибо. Я прошел через, как вы сказали, и это позаботилось о проблеме для меня. –