powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результат SP в xml файл???
30 сообщений из 30, показаны все 2 страниц
Результат SP в xml файл???
    #32056373
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Не подскажет ли кто, как сохранить результат выполнения SP(... FOR XML ...) в XML файл, причем структура файла должна быть строго задана, по причине написанного под него xsl файла.

Как это реализовать, если можно подробнее... (:
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056387
Terol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я делал так . .подготавливал в SQL нужные наборы данных и возвращал их в виде XML. Потом натягивал XSLT (это уже не в SQL) который уже приводил к нужному XML. если XML простой то можно сразу из SQL получить (см FOR XML Explicit)

Есть еще вариант использовать Аннотированные схемы, но после тестов я убедился что первый способ лучше.
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056394
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написать запрос с FOR XML то я написал (:
Не могу сделать саму запись в файл, все какая то ерунда получается, пробовал isql, но там с результатом еще и всякая хрень лезет (к-во строк, ----)...

Может подскажете как вы вывели результат в файл...
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056400
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BOL - XML and Internet Support - Retrieving and Writing XML Data - Retrieving XML Documents Using FOR XML - Guidelines for Using the FOR XML Clause
"Generally, FOR XML cannot be used for any selections that do not produce direct output to the Microsoft® SQL Server™ 2000 client"

Другими словами - только через клиента
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056404
Terol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я же специально уточнил что перевод и запись уже не в SQL
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056416
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще не спец T-SQL, но неужели нельзя результат SP в виде xml сохранить на сервере в виде простого файла.(888 или я что-то не понял...

С извинением за отнятое время...
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056424
Gena G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу сделать саму запись в файл, все какая то ерунда получается, пробовал isql, но там с результатом еще и всякая хрень лезет (к-во строк, ----)...

********

Есть опции подавления всего этого - какие проблемы-то?
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056425
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за опции?
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056440
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не знаю, у меня вот это:

Код: plaintext
osql -h- 1  -n -o test.out -E -Q "EXEC tempdb.dbo.get_xml" 


отрабатывает на "ура".

Процедура:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE PROC get_xml
AS
SET NOCOUNT ON
SELECT name FROM sysobjects FOR XML AUTO
GO

EXEC get_xml


Разве что в конце много пробелов и переводов строки...

Можно еще DBCC TRACEOFF(257,-1) выполнить - XML
приятнее станет...
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056466
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня тоже все отрабатывает (:
и отрабатывало, но появляется куча лишних символов, которые я не заказывал: XML_F52E2B61-18A1-11d1-B105-00805F49916B, --------,(9 rows affected)
Также куча пробелов...

Может есть "опции подавления" этого эффекта.
Или придется дополнительно обрабатывать файл...

С уважением...
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056468
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Gregory:

Не может быть. Остаются только trailing white spaces + CRLFs.
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056485
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели у всех все нормально работает... и никто с такой ситуацией не сталкивался...
Это я насчет "osql -h-1 -n -o test.out -E -Q"EXEC tempdb.dbo.get_xml""

Может есть дугой способ...
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056512
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, работает.
ключ -h-1 как раз и подавляет вывод заголовкаов столбцов (для XML он генерируется в виде XML_"какой-то страшный номер в hex")

а SET NOCOUNT ON подавляет вывод ххх rows affected

Кстати запрос вам придется составлять с for xml explicit, т.к. в других случаях тэг <root> не генерируется и IE6 отказывается отображать такой xml
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056517
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой-то страшный номер в hex - это CLSID интерфейса IXMLDocument Server XML HTTP 3.0
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056520
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2jimmers

Да я-то знаю
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056540
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большущее всем спасибо за ликбез.

Теперь все полностью понятно...

Буду дальше ковыряться... (8
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056577
ms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms
Гость
Я конечно извиняюсь но на кой тебе самому всё это в файл пихать?

вот у меня на страничке есть например ссылка
Код: plaintext
1.
    <form method=POST action='http://192.192.170.10/wdrozysk/template/rozexZN.xml?contenttype=text/html;charset=UTF-8'>\n

те я передаю параметры XML файлу. А вот сам файл:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?xml version ='1.0' encoding='windows-1251'?>                   
<root xmlns:sql='urn:schemas-microsoft-com:xml-sql' sql:xsl='rozex.xsl'>
  <sql:header>
     <sql:param name='zn_param'>N</sql:param>  
     <sql:param name='dvi_param'>N</sql:param>  
     <sql:param name='sha_param'>N</sql:param>  
     <sql:param name='kyz_param'>N</sql:param>  
     <sql:param name='fam_param'>N</sql:param>  
     <sql:param name='imm_param'>N</sql:param>  
     <sql:param name='ott_param'>N</sql:param>  
     <sql:param name='ini_param'>N</sql:param>  
     <sql:param name='log_param'>N</sql:param>  
  </sql:header>                                          
  <sql:query>
          exec ROZSELWWW_PROC  @zn_param,@dvi_param,@sha_param,@kyz_param,
                              @fam_param,@imm_param,@ott_param,@ini_param,
                              @log_param
  </sql:query>                                            
</root>



он запускает процедуру, а XSL указан в заголовке XML файла

все работает без проблем
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056649
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за совет... (:
Но нужно в файл...

Попробую и это, но позднее...
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056663
ms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms
Гость
А для чего в файл , если не секрет
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056682
Chel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
та же задача, но с доп условием
нада чтоб получаемый xml сохранялся в юникоде формате
мож кто знает?
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056684
ms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms
Гость
;charset=UTF-8'>\
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056690
Chel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
куда это вставить? в хранимую процедуру?
у меня все реализуется по типу

osql -h-1 -n -o test.out -E -Q"EXEC tempdb.dbo.get_xml"
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056700
ms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms
Гость
нет . смотри ссылку выше. это параметр в URL

зачем специально формировать XML файл?

в моем примере процедура формирует XML набор данных, f а броузер его подхватывает и показывает. в UNICode если надо
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056701
ms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms
Гость
нет . смотри ссылку выше. это параметр в URL

зачем специально формировать XML файл?

в моем примере процедура формирует XML набор данных, f а броузер его подхватывает и показывает. в UNICode если надо
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056705
Gregory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не секрет, просто все дело в плагиате ((((8
Если ты заходил на http://www.msdn.microsoft.com/library/default.asp(8,
то видел там каталогизатор, мне до жути понравилось и я решил сделать также, единственное что нужно сделать это представить данные из базы в виде файлов xml, которые будут подгружаться по мере раскрытия веток...
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056706
iMorsh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В примере от jimmers
переделал запрос на
Код: plaintext
SELECT * FROM sysobjects FOR XML AUTO

т.е. данных на выходе стало больше.

в выходном файле картина следующая
2118 символов xml
далее ~6100 символов пробелов (или еще какой-то муры)
далее опять 2118 символов xml
пробелы, xml....
Это нормально или как?
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056711
Chel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo! Так как же указать в SP (или в isql или еще где то)вывод xml (!файл!) в Unicode(utf-8) формате?
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056715
iMorsh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Glory
<...Кстати запрос вам придется составлять с for xml explicit, т.к. в других случаях тэг <root> не генерируется и IE6 отказывается отображать такой xml...>

Сделал ...

Код: plaintext
1.
2.
3.
4.
5.
6.
Create PROC get_xml
AS
SET NOCOUNT ON
SELECT  1   as tag, null  as parent
, name as [sysobjects! 1 !name] 
FROM sysobjects FOR XML explicit
GO


после этого
osql -h-1 -n -o test.out -E -Q"EXEC tempdb.dbo.get_xml"

увы тега root нету
Что то сделал не так?

Правда я в XML пока как свинья в апельсинах :-)
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056861
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет Unicode

BOL
"-u
Specifies that output_file is stored in Unicode format, regardless of the format of the input_file."



Насчет тэга root.
Это должно сработать
Код: plaintext
1.
2.
3.
4.
5.
declare @t table(fake_id varchar( 10 ) )

select fake_id, name
from @t  root
full outer join (select top  2  name from sysobjects) AS sysobjects ON sysobjects.name = root.fake_id
for xml auto
...
Рейтинг: 0 / 0
Результат SP в xml файл???
    #32056895
ms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms
Гость
TO GEORGY

см. внимательнее BOL (XML and Internet Support Overview) - этот метод более универсален
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результат SP в xml файл???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]