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

Откуда:
Сообщений: 37
Говорю сразу mssql 2000.
Формирую файл xml, когда гонял тесты - все было гуд, но выгрузил все нужные данные - и тут облом.
Выгружаю через bcp и for xml в select. Видимо где-то ограничение на длину строки, если данных много то строка тупо отрезается, и переносится на новую. Если обрезка попадает на тег то файл не работает, если верить firefox или ie.

например:
<table><id>1</id><name>NAME_1</name></table><table><id>2</id><name>NAME_2</na
me></table>

Если сделать простой запрос с for xml, то видно что результат в двух строках.

Как заставить резать в нужном месте?
23 сен 11, 00:09    [11322669]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Вы б код выгрузки через BCP привели б штоле...
23 сен 11, 06:40    [11323065]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
iboobel
Member

Откуда:
Сообщений: 37
'bcp "select * from db..table  FOR XML AUTO, ELEMENTS"  queryout path_to_file.xml -w -C1251'
23 сен 11, 09:45    [11323428]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Да, глючит вывод в XML файл через BCP.
Попробуйте лучше выгружать с помощью VB Script-а. Пример - тута.
23 сен 11, 10:07    [11323625]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
tpg
Да, глючит вывод в XML файл через BCP.
Нет там XML, это обычная строка.
В 2005 появился тип XML и BCP стал его поддерживать, а также директива Type в FOR XML, для возврата XML, а не текста.
23 сен 11, 10:58    [11324086]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
iljy
Member

Откуда:
Сообщений: 8711
iboobel,

используйте файл форматирования, все будет нормально
23 сен 11, 11:00    [11324116]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
Glory
Member

Откуда:
Сообщений: 104751
'bcp "select * from db..table FOR XML AUTO, ELEMENTS" queryout path_to_file.xml -w -C1251 -r'
23 сен 11, 11:06    [11324173]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Mnior
tpg
Да, глючит вывод в XML файл через BCP.
Нет там XML, это обычная строка.
В 2005 появился тип XML и BCP стал его поддерживать, а также директива Type в FOR XML, для возврата XML, а не текста.
А причем здесь 2005? У ТС 2000.
23 сен 11, 12:27    [11324929]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
iboobel
Member

Откуда:
Сообщений: 37
Glory
'bcp "select * from db..table FOR XML AUTO, ELEMENTS" queryout path_to_file.xml -w -C1251 -r'


Ты ж ё-маё, работает. Это типа указали признак конца строки как пустой, и bcp не стала переносить строки ?
23 сен 11, 13:41    [11325769]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
iboobel
Member

Откуда:
Сообщений: 37
Блин, мне стыдно, в FAQ именно так и написано ...
23 сен 11, 13:47    [11325828]     Ответить | Цитировать Сообщить модератору
 Re: mssql to xml ...?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
tpg
Mnior
tpg
Да, глючит вывод в XML файл через 2000й BCP.

Нет там XML, это обычная строка.
Это только в 2005 появился тип XML и BCP стал его поддерживать, а также директива Type в FOR XML, для возврата XML, а не текста.
А причем здесь 2005? У ТС 2000.
Действительно.

Про пустой -r - оригинально.
Тема из разряда SET TEXTSIZE, @query_result_width, @query_no_truncate
23 сен 11, 18:12    [11328961]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить