Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SSIS, файлы с непостоянной структурой  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35384
Блог
Коллеги, добрый день!

Из некоторого источника поступают экселевские файлы(столбцы А,Б,В,Г), в половине из них файлов может не быть некоторых столбцов(столбцы А,Б,Г). Но по всем этим столбцам настроен маппинг с таблицей-приемником.

Так вот, когда поступает файл, где нет хотя бы одного замапленного столбцов - генерируется ошибка и данные не грузятся.

Как загрузить то, что есть? И правильные файлы, и неправильные (даже если в нем не хватает половины столбцов).
17 авг 12, 17:44    [13028339]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Критик
Как загрузить то, что есть?
Прогу писать, SSIS тут не подходит. Разве что в качестве оболочки для запуска или в качестве компонентов для проги.
17 авг 12, 17:57    [13028413]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3754
alexeyvg
Критик
Как загрузить то, что есть?
Прогу писать, SSIS тут не подходит. Разве что в качестве оболочки для запуска или в качестве компонентов для проги.

все подходит. Только Соурс нужно делать Скрипт Компонентом!!! И там уже открывать эксель, читать данные и писать логику проверки столбцов на наличие и т.п.
17 авг 12, 19:19    [13028737]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Ivan Durak
alexeyvg
пропущено...
Прогу писать, SSIS тут не подходит. Разве что в качестве оболочки для запуска или в качестве компонентов для проги.

все подходит. Только Соурс нужно делать Скрипт Компонентом!!! И там уже открывать эксель, читать данные и писать логику проверки столбцов на наличие и т.п.
В смысле, конструировать Data flow task и настраивать источники-приёмники в скрипте?

Про это я написал как вариант "Разве что в качестве компонентов для проги."

Т.е. вы просто пишете прогу на C#, в которой делаете импорт, используя компоненты SSIS.

Причём учитывайте, что модульность, разбиение на файлы, повторное использование кода, да даже просто вменяемый текстовый редактор при использовании Скрипт Компонента будут отсутствовать, поэтому, когда эта прога импорта достигнет десятка тысяч строк, поддерживать и отлаживать её будет несколько неудобно.

На практике мы пишем отдельную DLL на C#, она использует компоненты SSIS для импорта, а уже эту dll вызываем из Скрипт Компонента SSIS-пакета. Так ещё хоть как то можно это написать, хотя и через ж не очень удобно.
17 авг 12, 20:33    [13028970]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Критик
Коллеги, добрый день!

Из некоторого источника поступают экселевские файлы(столбцы А,Б,В,Г), в половине из них файлов может не быть некоторых столбцов(столбцы А,Б,Г). Но по всем этим столбцам настроен маппинг с таблицей-приемником.

Так вот, когда поступает файл, где нет хотя бы одного замапленного столбцов - генерируется ошибка и данные не грузятся.

Как загрузить то, что есть? И правильные файлы, и неправильные (даже если в нем не хватает половины столбцов).

Я выходил из такой ситуации с помощью VBA. т.е. приходит файл, через VBA переименовываю нужные мне столбцы в F1 F2 .. у меня их было 7. Если нет каких то, то просто долавляю. И загружаю файл, в итоге если колонка отсутствовала, то в этом столбце NULL.
18 авг 12, 21:13    [13031634]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35384
Блог
Вариант с источником в виде Script Component вполне устраивает,
еще вопрос: наименование листа - на русском языке, а в Script Component сохраняется такое:
excelCommand.CommandText = "SELECT * FROM [��_����������$]";

как поправить?
19 авг 12, 11:31    [13032671]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35384
Блог


К сообщению приложен файл. Размер - 12Kb
19 авг 12, 11:33    [13032674]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Критик
а в Script Component сохраняется такое:
А что такое сохраняется? Вы руками пишете эту строку, сохраняете, потом открываете поредактировать, и у вас она уже в искажённом виде?
19 авг 12, 12:39    [13032777]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35384
Блог
именно, руками по-русски написано "шт_Декларации",
после переоткрытия - абракадабра,
ОС и MSSQL - английские
19 авг 12, 17:07    [13033502]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Критик
именно, руками по-русски написано "шт_Декларации",
после переоткрытия - абракадабра,
ОС и MSSQL - английские
Понятно. Получается, баг в студии. Какая у вас версия, может, сервис-пак какой нибуть поможет?
19 авг 12, 17:10    [13033512]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, файлы с непостоянной структурой  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
alexeyvg
Критик
именно, руками по-русски написано "шт_Декларации",
после переоткрытия - абракадабра,
ОС и MSSQL - английские
Понятно. Получается, баг в студии. Какая у вас версия, может, сервис-пак какой нибуть поможет?
Да, у меня на рабочем компе то же самое.

Строку ФЫВА сохраняет в виде 12 байт, при повторном открытии тоже такие же квадратики.

В файле пакета указана кодировка utf8

Получается, просто баг.

Ivan Durak,

Вот, вот с таким приходится сталкиваться в этом самом SSIS :-)

Был же нормальный, хорошо управляемый DTS, и чего его заменили...
19 авг 12, 17:24    [13033533]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить