2017-01-06 6 views
0

Я смог использовать агент SQL Server для создания задания, которое извлекает данные из SQL Server 2008 в Excel Format Daily. Тем не менее, есть ли способ создать задание, которое хранит все выдержки отдельно, без перезаписывания предыдущих файлов? Я бы очень оценил вашу помощь.Извлечь данные из SQL в Excel без перезаписывания предыдущих данных

спасибо.

ответ

0

При использовании поставщика данных OLE DB/Jet для Excel существует способ указания имени рабочего листа. Рабочий лист в Excel является грубым эквивалентом таблицы базы данных. Один из вариантов - использовать другое имя рабочего листа каждый раз (скажем, исходя из текущей даты). Другой вариант - добавить данные в существующий рабочий лист, если это то, что вам нужно. Если задание агента SQL Server не позволяет вам делать что-то подобное, тогда вам может понадобиться создать небольшое приложение.

+0

Я уже изучал вставку нового листа для каждого экстракт. Однако это не то, что я хотел бы сделать. Чтобы отслеживать все экспортированные данные, я бы предпочел иметь дамп данных в разных файлах каждый раз, когда он извлекает данные. –

+0

Я вижу. Хорошее эмпирическое правило: если какой-то технологический недостаток мешает вам, попробуйте придумать из коробки и найти альтернативу. Если агент SQL Server не позволяет вам делать что-то вроде выбора другого имени файла при каждом запуске задания, я бы выбрал его для этой конкретной задачи и вместо этого написал небольшое приложение, а затем запустил его с помощью Task Scheduler. Больше свободы и меньше головной боли. – uncoder

0

При копировании из OLEDB в Excel вы можете динамически передавать имя файла с помощью выражений, основанных на Datetime.

Ex: Filepath + Date1_mmddyy_hhmmss

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

+0

Сообщите мне, если вам нужно больше объяснений. – San

Смежные вопросы