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

Откуда:
Сообщений: 1523
Есть стандартный подход - расшаренная папка в сети, в ней Excel файл, с ним работают пользователи, SSIS по ночам забирает этот файл.
Настроен стандартный Excel Datasource в SSIS.
Но - если этот взять этот Excel файл и подменить его на точно такой же, но например более старый (важно - все листы, названия полей - все то же самое) то SSIS при следующей загрузке выдает что то типа: "External table is not in the expected format"
Захожу в студию, нажимаю на F5 - все выполняется нормально..В джобе же выпадает вот эта ошибка.

Connection String в Excel Connection Manager прописан вручную в Expressions..
В чем еще может быть подвох?
Кто сталкивался с таким "динамическим" Excel датасорсом? (интересует кейс именно когда файл подменяется другим)
16 дек 16, 20:28    [20014062]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
aleks2
Guest
Santa89
Есть стандартный подход - расшаренная папка в сети, в ней Excel файл, с ним работают пользователи, SSIS по ночам забирает этот файл.
Настроен стандартный Excel Datasource в SSIS.
Но - если этот взять этот Excel файл и подменить его на точно такой же, но например более старый (важно - все листы, названия полей - все то же самое) то SSIS при следующей загрузке выдает что то типа: "External table is not in the expected format"
Захожу в студию, нажимаю на F5 - все выполняется нормально..В джобе же выпадает вот эта ошибка.

Connection String в Excel Connection Manager прописан вручную в Expressions..
В чем еще может быть подвох?
Кто сталкивался с таким "динамическим" Excel датасорсом? (интересует кейс именно когда файл подменяется другим)


Когнитивный диссонанс: "с ним работают пользователи" = "подменить его на точно такой же" при каждом сохранении.

ЗЫ. Ну а касаемо SSIS и "External table is not in the expected format" - проще надо быть. SSIS - это монстр в себе. Для простых и эффективных решений - openrowset есть.
17 дек 16, 06:42    [20015054]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
Santa89
Member

Откуда:
Сообщений: 1523
aleks2,
соглашусь..впринципе можно в пакете подменить Excel source на SqlTask с openrowset'ом...не удивлюсь даже что быстрее работать будет..такое чувство что ssis excel долговато валидирует файл перед загрузкой, openrowset побыстрее будет.
17 дек 16, 12:31    [20015509]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
Santa89
Member

Откуда:
Сообщений: 1523
Интересно что даже Openrowset периодически тупит и не распознает файл который был "подменен" на новый.
Возможно кому то поможет: сделал в SSIS File Task - в нем копирую нужный файл в некую рабочую папку, копирование даже 5МБ фала проходит за полсекунды, а с этим файлом уже Openrowset работает без проблем!
17 дек 16, 19:39    [20016472]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
Santa89
Member

Откуда:
Сообщений: 1523
aleks2, к вопросу о когнтивином диссонансе): некоторые пользователи работают с сетевым файлом и им все-равно на скорость работы этого файла (если файл открыт из сетевой папки - скорость будет медленнее), некоторые же - предпочитают забрать файл себе на машину, поработать с ним и только потом отдать на сетевую папку - так скорость быстрее получается.
17 дек 16, 19:41    [20016486]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 942
Сначала пользователи правят файл на шаре, а потом он заливается в БД?
Выкидывайте нафиг ваш "стандартный подход"...
19 дек 16, 16:40    [20023208]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8821
У него меняется формат при сохранении или вы подменяете более старой версией или более новой. Чудес не бывает. Он ждет XL97, а вы подсовываете XL2013.
Вы ж БД программер, должны понимать, что "вижу на экране" <> "хранится в файле".
19 дек 16, 17:11    [20023447]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
Santa89,

Проверьте права доступа к файлу у того юзера, под которым работает SSIS
19 дек 16, 17:12    [20023449]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
Santa89
Member

Откуда:
Сообщений: 1523
Да в принципе всё уже работает.
Да, файл на шаре, его по ночам забирает SSIS, и не вижу в этом ничего страшного, пользователям удобно работать в привычном Excel а наш отдел не тратит время на разработку какого то Веб-справочника для них.

С помощью File System Task в SSIS (копирование Excel файла в рабочую папку) также закрывается проблема того, когда файл открыт пользователем и SSIS не может его затянуть (файл нужно закрыть перед загрузкой)
20 дек 16, 12:57    [20026601]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Excel error на сетевой папке  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 942
Santa89
Да в принципе всё уже работает.

Проблема как я понял еще не решена.
2016-12-20 - 2016-12-16 = 4 дня
За это время можно было на коленке сделать редактор справочника, с помощью:
1. php / bootstrap / jquery - "совсем"-бесплатно
2. c# / win-forms / dxperience - "условно"-бесплатно
Но да, мы упорно продолжаем жевать кактус (использовать инструменты не по назначению) и ждать залетного "дятла", который разрушит вашу ИТ-идиллию. И вы снова прибежите спрашивать совета, как лучше употреблять кактус.
20 дек 16, 14:19    [20027111]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить