|
Сохранение результатов запроса в текстовом файле (Тема для обсуждения)
|
|||
---|---|---|---|
#18+
По материалам статьи Brian Knight на SWYNK.COM "Piping Queries to a Text File" Брайен пишет, что часто возникает необходимость сохранить результаты исполнения запроса в текстовом файле. Особенно это удобно, когда время исполнения запроса весьма велико или доступные ресурсы не позволяют запускать запрос в рабочие часы, и Вы решите запустить исполнение запроса ночью, а результаты посмотреть утром. Вы можете создавать задание, содержащее CMDEXEC, которое выполнит необходимые команды и выведет результаты запроса c:\inputquery.txt в отдельный файл. \mssql7\binn\osql -Usa -Ppassword -ic:\inputquery.txt -oc:\outputdir\output.txt Если Вы не хотите открыто записывать пароль в ваше задание, можно использовать ключ "E" для организации доверительного подключения. Также, можно воспользоваться расширенной хранимой процедурой XP_CMDSHELL: master..xp_cmdshell 'osql -Usa -Pmisty -Q"select * from products" -dNorthwind -oc:\output.txt' ' Параметр "Q" задаёт строку запроса. В конце запроса Вы можете добавить дополнительный параметр NO_OUTPUT, для блокирования любого вывода клиенту. master..xp_cmdshell 'osql -Usa -Pmisty -q"select * from products" -dNorthwind -oc:\output.txt', no_output Есть и другие методы конвейерной пересылки результатов исполнения запроса в текстовый файл (например, используя OLE Automation) но они более трудоёмки, чем этот метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2001, 14:16 |
|
Сохранение результатов запроса в текстовом файле (Тема для обсуждения)
|
|||
---|---|---|---|
#18+
Очень часто отчеты нужны не сами по себе, для информации, а для представления куда-то, или для архивного хранения. Значит должны быть шапка, подписи. В общем оформлено должно быть в соответствии с правилами делопроизводства, и в этом случае собственные средства SQL мало пригодны. Разве что с помощью sp_makewebtask можно сделать что-то более или менее подходящие. Конечно, можно потом обработать в текстовом редакторе, но в лом делать то, что должна делать машина. Лично я написал клиента и запускаю его по расписанию. Можно, наверное, использовать Extended Stored Procedures, но мне лень на С писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2001, 20:15 |
|
|
start [/forum/topic.php?fid=46&msg=32002080&tid=1827377]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 129ms |
0 / 0 |