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

Откуда:
Сообщений: 29
Добрый день помогите пожалуйста с XML.
declare @Response as xml='
<eregistry action="info" subject="company" id="1234">
    <company-info tax_id="0415789" status="ok">
        <documents>
                <statement>JVBERi0xLjQKMSAwIG9iago8PAovVGl0bGUgKP7/AEUAbABlAGMAdAByAG8AbgBpAGMAIABSAGUAZwBpAHMAdABlAHIAIABcKABUAGUAcwB0ACAATQBvAGQAZQBcKQAsACAARwBvAHYAZQByAG4AbQBlAG4AdAAg==</statement>
        </documents>
    </company-info>
</eregistry>'

В <statement> pdf файл. Нужно извлечь его, не могу понять как это сделать.
21 янв 14, 12:57    [15445876]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Platonyan
В <statement> pdf файл.

Нет такого типа данных "pdf файл"
Есть numeric, character, binary и тд.
21 янв 14, 13:00    [15445896]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Platonyan
Member

Откуда:
Сообщений: 29
base64 нужно показать в pdf файле
21 янв 14, 13:04    [15445924]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Platonyan
Member

Откуда:
Сообщений: 29
<statement>base64 content</statement>
21 янв 14, 13:11    [15445987]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL - OPENXML - Example J. Retrieving binary from base64 encoded data in XML
21 янв 14, 13:13    [15446009]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Что конкретно у Вас не получается? Взять BLOB из XML-я? Выгрузить этот BLOB в виде файла?
21 янв 14, 13:16    [15446026]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Platonyan
Member

Откуда:
Сообщений: 29
ДА не получаеться взять BLOB и выгрузить в виде фаила.
21 янв 14, 13:23    [15446099]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Platonyan
ДА не получаеться взять BLOB и выгрузить в виде фаила.

Не можете напечатать текст запроса что ли ?
Или записать результат в файл ?
21 янв 14, 13:26    [15446114]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Platonyan
Member

Откуда:
Сообщений: 29
не могу отобразить <statement> node в pdf файле.

не знаю с какой стороны подойти, надеюсь я изложил ясно.

К сообщению приложен файл (XML.sql - 128Kb) cкачать
21 янв 14, 13:54    [15446401]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Platonyan
не могу отобразить <statement> node в pdf файле.

Причем тут pdf файл ? Какое отношение он имеет к MSSQL ?
21 янв 14, 13:56    [15446420]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Platonyan,

Вам обьяснили, что Ваша задача разбивается на две - 1. Взять BLOB-поле из XML 2. Записать BLOB-поле в файл.
По обоим задачам есть описания в хелпе.
21 янв 14, 13:59    [15446450]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с XML.  [new]
user89
Member

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

скачал я Ваш xml-файл. По мотивам статьи Преобразование в Base64 и обратно
declare @x xml, @val varchar(max)
select @x = BulkColumn from openrowset(bulk 'c:\Work\test.xml', single_blob) as x

select @val = n.value('statement[1]', 'varchar(max)')
from @x.nodes('/eregistry/company-info/documents') t1(n)

select cast(cast(N'' as xml).value('xs:base64Binary(sql:variable("@val"))', 'varbinary(max)')  as varchar(max)) as [decoded_value];

ИМХО лучше делать на клиенте.
21 янв 14, 16:58    [15448080]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить