如何使用返回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',

如何使用返回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',
             '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