如何使用返回json的存储过程调用web服务,并使用sql server将数据存储在表中?
如何使用返回json的存储过程调用web服务,并使用sql server将数据存储在表中如何使用返回json的存储过程调用web服务,并使用sql server将数据存储在表中?,sql,sql-server-2008,Sql,Sql Server 2008,如何使用返回json的存储过程调用web服务,并使用sql server将数据存储在表中 ============== Declare @Object as Int; Declare @ResponseText as Varchar(8000); --Code Snippet Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT; Exec sp_OAMethod @Object, 'open', NULL, 'get',
==============
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
--Code Snippet
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get',
'WEB SERVICE LINK', --Your Web Service Url (invoked)
'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAGetProperty@Object, 'responseText', @ResponseText OUTPUT
Select @ResponseText
Exec sp_OADestroy @Object
使用SSIS,不要从SQL调用使用其他语言/框架-C#应用程序、SSIS或其他任何东西,但不要使用SQL。它不是专门为那种事情设计的。C#内置了调用Web服务和解析JSON等工具,因此很容易保存到数据库中。感谢您的建议#gbn和#ADyson
DECLARE @Object AS INT ;
DECLARE @ResponseText AS VARCHAR(8000) ;
DECLARE @Url AS VARCHAR(1000) ;
SET @Url = 'Web service'
EXEC sp_OACreate 'MSXML2.XMLHTTP', @Object OUT ; --
EXEC sp_OAMethod @Object, 'open', NULL, 'get', @Url,'false'
EXEC sp_OAMethod @Object, 'send'
EXEC sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
SELECT @ResponseText
EXEC sp_OADestroy @Object
DECLARE @handle INT
DECLARE @PrepareXmlStatus INT
EXEC @PrepareXmlStatus= sp_xml_preparedocument @handle OUTPUT,
@ResponseText