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

Откуда:
Сообщений: 1490
Народ, подскажите решение проблемы.
Есть такой код:
-------------
--выше создаю объект WinHTTP, шлю запрос в НБКИ
----------------------
create table #t (field varbinary(MAX))

insert into #t
EXEC sp_OAGetProperty @objHttp, 'ResponseBody'

SELECT field FROM #t --вывожу на экран, добавилось ли чего.
--копирую в таблицу, чтобы потом сохранить в файл
DELETE FROM CLoc.._testNBKI
INSERT INTO CLoc.._testNBKI(data) SELECT field FROM #t


--Сохраняю в файл данные
EXEC @rc = sp_OACreate 'Scripting.FileSystemObject', @FS OUTPUT

declare @c varchar(6000)
set @c = 'bcp.exe "select TOP(1) data from CLoc.._testNBKI ' + '" queryout "'+@FileName+'" -T -c -C RAW'
execute master.dbo.xp_cmdshell @c , no_output


Обращаюсь к сервису НБКИ и получаю от него ответ с Content-Type: binary/octet-stream
При попытке сохранить этот ответ в таблицу - добавляется запись, но поле остается пустым
При просмотре через Fiddler2 видно, что данные пришли в размере 36200 Б
Файл создается пустой.

Если я намеренно в запрос, отправляемый в НБКИ, вставляю ошибку, то сервис возвращает мне ответ размером 4300Б с сообщением об ошибке и этот ответ нормально сохраняется в таблицу, а потом в файл.

Как победить?
26 дек 14, 17:10    [17058785]     Ответить | Цитировать Сообщить модератору
 Re: НБКИ. Как ответ, полученный через WinHTTP, записать в файл.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8570
Читаем справку и видим совершенно иную картину:
sp_OAGetProperty objecttoken , propertyname
[ , propertyvalue OUTPUT ]
[ , index...]
26 дек 14, 17:22    [17058863]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить