Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
Доброе утро.
Подскажите пожалуйста ответ на следующий вопрос. Мне необходимо выгрузить из MS SQL Server 2005 данные в Excel файлы, причем в несколько файлов в цикле. Вроде все сделал, сделал удаление таблицы, создание новой, но начинаю запускать ругается что нет конечного файла Excel, в который надо выгружать. вопрос такой, как надо действовать и настраивать, когда файл, в который выгружаю должен создаваться при выполненнии пакета.
2 дек 09, 09:47    [8006137]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Заведите себе типа шаблонного эксельного файла. Первым шагом в цикле копируйте этот файл в целевой с нужным именем, в следующих шагах уже вся работа должна вестись с целевым файлом.
2 дек 09, 10:06    [8006268]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
winsky!
Member

Откуда: Киев
Сообщений: 5120
свойство DelayValidation у пакета поставьте в true.
но учтите, что в таком случае пакет не будет себе валидировать перед запуском.
2 дек 09, 10:09    [8006286]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
Спасибо за советы установил в true, появилась другая ошибка сейчас буду разбираться дальше
2 дек 09, 10:13    [8006322]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
winsky!
Member

Откуда: Киев
Сообщений: 5120
посмотрите еще совет tpg
2 дек 09, 10:43    [8006612]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
по поводу совета tpg есть несколько вопросов, мне придется копировать шаблон, вставлять в него данные и переименовывать в конце цикла, потому что выгружается порядка 10 файлов с определенными названиями, но вариант скорее всего тоже рассмотрю, потому что сейчас запустил project, он выполнился без ошибок, но результат найти не могу.

Еще вопрос по архитектуре. Для выгрузки необходимо: таблица(запрос) от куда выгружаю, файл excel и еще таблица, которую я создаю и соединяю с запросом, не могу до конца догнать это временная таблица, которая создается в MS SQL или создание этой таблицы создает закладку в файле excel? Если не понятно скажите перефразирую, просто так как я до конца не могу догнать, поэтому не могу нормально сформулировать вопрос
2 дек 09, 11:12    [8006833]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
ROG13
...мне придется копировать шаблон, вставлять в него данные и переименовывать в конце цикла
Копировать надо сразу с нужным именем и в нужную же папку - ничего тогда переименовывать не придется.

ROG13
Еще вопрос по архитектуре. Для выгрузки необходимо: таблица(запрос) от куда выгружаю, файл excel и еще таблица, которую я создаю и соединяю с запросом, не могу до конца догнать это временная таблица, которая создается в MS SQL или создание этой таблицы создает закладку в файле excel?
Если таблица создается для коннекта экселя, то в экселе будет создан соответствующий именованный диапазон с одноименным листом, если мне не изменяет склероз.
2 дек 09, 12:32    [8007568]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
winsky!
Member

Откуда: Киев
Сообщений: 5120
tpg
Если таблица создается для коннекта экселя, то в экселе будет создан соответствующий именованный диапазон с одноименным листом, если мне не изменяет склероз.

по-моему - да.
имхо в данном случае способ с шаболном оптимальнее
2 дек 09, 13:09    [8007838]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
AklexK
Member

Откуда: Москва
Сообщений: 37
ROG13,
https://www.sql.ru/forum/actualthread.aspx?tid=713044
2 дек 09, 13:34    [8008014]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
Согласен с вами, шаблон удобней будет использовать. Но единственное мне удобней сначало закидывать, а потом копировать, там мои заморочки и в связи с этим вопросо

поставал Execuute SQL Task подключил к Excel Connection Manager и прописал запрос delete from `data`, data - это табличка, которая создается в файле, т.е. имя закладки в excel, пишет ошибку во время выполнения, хотя когда проверяю запрос на этапе создания пишет что запрос корректен. В чем может быть проблемма не подскажете? Перед этим туда сливаются данные, мож в этом дело, соединение какое-нибудь не разрывается и блокирует?
ошибка звучит так:
Error: 0xC002F210 at Re-build xls, Execute SQL Task: Executing the query "delete from `data`" failed with the following error: "Удаление данных в присоединенной (или связанной) таблице не поддерживается этим драйвером ISAM.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

То что написано не поддерживается вижу, ну как тогда не добавить данные, а перезаписать?
2 дек 09, 13:34    [8008017]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
AklexK
ROG13,
https://www.sql.ru/forum/actualthread.aspx?tid=713044


Спасибо за совет я посмотрел, генератор которым вы пользуйтесь вещь думаю интересная, буду иметь ввиду, но в данной ситуации меня интересует именно SSIS, потому что помима выполнения задачи необходимо самому разобраться, потому что задач с его использованием еще много.
Если я написал не то, что вы ожидали и вы имелии ввиду другое, то уточните пожалуйста.
2 дек 09, 13:45    [8008124]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
winsky!
Member

Откуда: Киев
Сообщений: 5120
автор
Но единственное мне удобней сначало закидывать, а потом копировать

непонятно где что удобнее.
седалайте так:
создайте пустой файл в том виде в котором вам надо, обзовите его как-то myFileTemplate.xls.
в ссис-е
первый таск - копирование файла myFileTemplate.xls в myTargetTemplate.xls
второй таск - заполнение файл myTargetTemplate.xls

и никакого гемора с очисткой/созданием таблиц в екселе, у драйвера, который работает с екселем куча ограничений... оно вам надо в этом кале ковыряться?
2 дек 09, 14:17    [8008341]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
winsky!
автор
Но единственное мне удобней сначало закидывать, а потом копировать

непонятно где что удобнее.
седалайте так:
создайте пустой файл в том виде в котором вам надо, обзовите его как-то myFileTemplate.xls.
в ссис-е
первый таск - копирование файла myFileTemplate.xls в myTargetTemplate.xls
второй таск - заполнение файл myTargetTemplate.xls

и никакого гемора с очисткой/созданием таблиц в екселе, у драйвера, который работает с екселем куча ограничений... оно вам надо в этом кале ковыряться?


Я Вас понял сейчас попробую. Просто получается скопировал, записал, скопировал в другое место, чтоб не перезаписать. А если копировать шаблон каждый раз с уникальным названием файла, чтоб потом не копировать и не переименовывать, то возвращаемся к вопросу о том, что снова файл для Excel не известен ))) или я не прав? просто хотелось все сделать лаконично и красиво, а не как всегда. но больше времени на это нет, так что сделаю с копированием.
2 дек 09, 14:30    [8008442]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
winsky!
Member

Откуда: Киев
Сообщений: 5120
автор
Просто получается скопировал, записал, скопировал в другое место

а что вас в этом смущает? по вашеме чистить/создавать в екселе таблицы sql выражениями красивее? ;)
2 дек 09, 14:35    [8008477]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
winsky!, чесно да)))
2 дек 09, 14:38    [8008511]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
Glory
Member

Откуда:
Сообщений: 104760
ROG13

Я Вас понял сейчас попробую. Просто получается скопировал, записал, скопировал в другое место, чтоб не перезаписать. А если копировать шаблон каждый раз с уникальным названием файла, чтоб потом не копировать и не переименовывать, то возвращаемся к вопросу о том, что снова файл для Excel не известен ))) или я не прав? просто хотелось все сделать лаконично и красиво, а не как всегда. но больше времени на это нет, так что сделаю с копированием.

Почему имя файла неизвестно, если вы на файл-шаблон скопировали в файл с другим именем ?
2 дек 09, 14:48    [8008602]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
winsky!
Member

Откуда: Киев
Сообщений: 5120
ROG13
winsky!, чесно да)))

а по-моему - нет.
сложно в поддержке.
2 дек 09, 14:50    [8008625]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
Glory
ROG13

Я Вас понял сейчас попробую. Просто получается скопировал, записал, скопировал в другое место, чтоб не перезаписать. А если копировать шаблон каждый раз с уникальным названием файла, чтоб потом не копировать и не переименовывать, то возвращаемся к вопросу о том, что снова файл для Excel не известен ))) или я не прав? просто хотелось все сделать лаконично и красиво, а не как всегда. но больше времени на это нет, так что сделаю с копированием.

Почему имя файла неизвестно, если вы на файл-шаблон скопировали в файл с другим именем ?


Имя файла не извесно при разработке проекта, т.е. есть файл шаблон, я его из определенного места копирую и изменяю название чтоб в него выгрузить, цикл проходит порядка 10 повторений и в каждом повторении имя файла будет другим, соответственно при создании пакета я не смогу указать для Excel Connection Manager имя файла, в который ему сливать данные.
2 дек 09, 14:56    [8008698]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
ROG13
...и в каждом повторении имя файла будет другим, соответственно при создании пакета я не смогу указать для Excel Connection Manager имя файла, в который ему сливать данные.
Это делается через Expression этого же коннекта с использованием соответствующих переменных.
2 дек 09, 15:06    [8008796]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
tpg, использовал но че-то не получилось если не отключать проверку перед выполнением то выдавал ошибку, что файл назначения не обнаружен
2 дек 09, 15:13    [8008876]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
Glory
Member

Откуда:
Сообщений: 104760
ROG13


Имя файла не извесно при разработке проекта, т.е. есть файл шаблон, я его из определенного места копирую и изменяю название чтоб в него выгрузить, цикл проходит порядка 10 повторений и в каждом повторении имя файла будет другим, соответственно при создании пакета я не смогу указать для Excel Connection Manager имя файла, в который ему сливать данные.

Зато вы можете менять это имя файла в ходе выполнения пакета
2 дек 09, 15:13    [8008878]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
ROG13
tpg, использовал но че-то не получилось если не отключать проверку перед выполнением то выдавал ошибку, что файл назначения не обнаружен
Ну, вы в переменную, которая через выражение определяет имя файла по-умолчанию что-нить внятное впишите-то, хотя бы имя своего шаблона...
2 дек 09, 15:16    [8008907]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
tpg,
согласен что имя шаблона стоило вписать. Ну все я сделал, в цикле удаляю таблицу, потом создаю, сливаю данные и копирую файл с определенным названием в папку указанную пользователем при запуске функции. В данном случае улучшить можно только если генерировать сразу с определенным названием в папку, указанную пользователем.
Соответственно вопрос, если файла нет, то он создастся при вставке нового имени файла в Excel Connection Manager и не будет ли проблем если я буду создавать таблицу до того как появился файл, по идее должна быть ошибка
2 дек 09, 15:35    [8009087]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
Glory
Member

Откуда:
Сообщений: 104760
ROG13

Соответственно вопрос, если файла нет, то он создастся при вставке нового имени файла в Excel Connection Manager и не будет ли проблем если я буду создавать таблицу до того как появился файл, по идее должна быть ошибка

- Изменение имени файла в Connection Manager не создает новый файл
- Разумеется выполнение команд для несуществующего файла приведет к ошибке.
2 дек 09, 15:38    [8009117]     Ответить | Цитировать Сообщить модератору
 Re: ssis - выгрузка данных в excel  [new]
ROG13
Member

Откуда:
Сообщений: 78
Glory
ROG13

Соответственно вопрос, если файла нет, то он создастся при вставке нового имени файла в Excel Connection Manager и не будет ли проблем если я буду создавать таблицу до того как появился файл, по идее должна быть ошибка

- Изменение имени файла в Connection Manager не создает новый файл
- Разумеется выполнение команд для несуществующего файла приведет к ошибке.


А как тогда быть, когда создавать таблицу и как выгружать в файл, который не существует пока, только создавая предварительно или копируя шаблон?
2 дек 09, 15:43    [8009165]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить