Sql server 利用T-SQL代码中的xml rpc

Sql server 利用T-SQL代码中的xml rpc,sql-server,xml,sql-server-2008,tsql,xml-rpc,Sql Server,Xml,Sql Server 2008,Tsql,Xml Rpc,目前我有很好的REST(通过clr/assembly)和SOAP(通过基于sp_OA的存储过程)解决方案,但直接从SQL Server T-SQL代码访问XML-RPC仍然是一个问题 请告知为此目的存在哪些变体 我需要避免使用应用程序层,因为所有逻辑都已经存在于数据库中的存储过程中,只需要提供记录集。我使用xmlhttp COM对象从t-sql中的HTTP调用中使用XML,该对象类似于: Declare @Object as Int; Declare @ResponseText as Varc

目前我有很好的REST(通过clr/assembly)和SOAP(通过基于sp_OA的存储过程)解决方案,但直接从SQL Server T-SQL代码访问XML-RPC仍然是一个问题

请告知为此目的存在哪些变体


我需要避免使用应用程序层,因为所有逻辑都已经存在于数据库中的存储过程中,只需要提供记录集。

我使用xmlhttp COM对象从t-sql中的HTTP调用中使用XML,该对象类似于:

Declare @Object as Int;

Declare @ResponseText as Varchar(8000);

Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', 
NULL, 'get',
'http://www.webservicex.com  /stockquote.asmx?symbol=MSFT',                                                                'false'

Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT

Select @ResponseText

Exec sp_OADestroy @Object
@ResponseText中的xml可以通过传统的tsql方法分解

这不是一个特别稳健的方法;使用SSIS包或CLR集成很可能会产生更好的解决方案,但这是一种将所有这些都保留在t-sql中的方法


请参阅:

我使用xmlhttp COM对象从t-sql中的HTTP调用中使用XML,该对象类似于:

Declare @Object as Int;

Declare @ResponseText as Varchar(8000);

Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', 
NULL, 'get',
'http://www.webservicex.com  /stockquote.asmx?symbol=MSFT',                                                                'false'

Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT

Select @ResponseText

Exec sp_OADestroy @Object
@ResponseText中的xml可以通过传统的tsql方法分解

这不是一个特别稳健的方法;使用SSIS包或CLR集成很可能会产生更好的解决方案,但这是一种将所有这些都保留在t-sql中的方法

见: