Просьба модеров не удалять, поскольку вероятность помощи в предыдущей теме равна нулю.
Столкнулся с подобной задачей, при попытке выполнить код (взято практически полностью
отсюда):
USE [Base]
GO
/****** Объект: StoredProcedure [dbo].[auto_call] Дата сценария: 01/19/2009 09:59:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[send_xml_query_to_gorod] AS
DECLARE @addr varchar(1000)
DECLARE @user varchar(100)
DECLARE @pwd varchar(100)
DECLARE @RequestHeader varchar(100)
DECLARE @boundary varchar(100)
DECLARE @httpbody varchar (8000)
DECLARE @Content varchar(8000)
SET @addr='192.168.100.34:8584'
SET @user = ''
SET @pwd=''
SET @boundary='---------------------------7d7d22e6070c'
SET @RequestHeader ='multipart/form-data; boundary='+@boundary
--Подготовка запроса
DECLARE @objHTTP int
DECLARE @RC INT
EXEC @rc=sp_OACreate 'MSXML2.ServerXMLHTTP', @objHTTP output
EXEC @rc=sp_OAMethod @objHTTP,'open', null,'POST',@addr,0,@user,@pwd
EXEC @rc=sp_OAMethod @objHTTP,'setRequestHeader',null,'Content-Type', @RequestHeader
EXEC @rc=sp_OAMethod @objHTTP,'setRequestHeader',null,'content-transfer-encoding','utf-8'
EXEC @rc=sp_OAMethod @objHTTP,'setOption',null, 2, 13056
--Тело запроса
SET @Content = '<?xml version="1.0" encoding="UTF-8"?>
<Document>
<SET>
<FORMS>
<ReqCalcForm>
<Abonent>
<srvnum>1</srvnum>
<account>322550620</account>
</Abonent>
</ReqCalcForm>
</FORMS>
</SET>
</Document>'
SET @httpbody='--'+@boundary+'
Content-Disposition: form-data; name="filename"; filename="filename.xml"
Content-Type: text/plain'+@Content+'--'+@boundary+'--'
DECLARE @result int --Общий результат
--Отправка запроса
EXEC @rc=sp_OAMethod @objHTTP,'Send',null,@httpBody
IF @rc!=0
BEGIN
EXEC sp_DisplayOAErrorInfo @objHttp, @rc
SET @result=-1
PRINT 'Ошибка метода SEND:'+cast(@rc AS varchar(100))
EXEC sp_OADestroy @objHTTP
RETURN @result
DECLARE @status int
EXEC @rc = sp_OAGetProperty @objHttp, 'status', @status OUT
IF @status <> 200
SET @result=-1
PRINT 'Ошибка HTTP. Статус '+cast(@status AS varchar(100))
EXEC sp_OADestroy @objHTTP
RETURN @result
END
IF object_id('tempdb..#httpresult') is not null DROP TABLE #httpresult
CREATE TABLE #httpresult(http nvarchar(4000))
INSERT #httpresult EXEC @rc = sp_OAGetProperty @objHttp, 'responsetext'
EXEC sp_OADestroy @objHTTP
Выдается ошибка:
OLE Automation Error Information
HRESULT: 0x80004005
Source: msxml3.dll
Description: Неопознанная ошибка
Ошибка метода SEND:-2147467259
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)