从T-SQL代码中使用xml-rpc

时间:2012-07-16 06:22:42

标签: sql-server xml sql-server-2008 tsql xml-rpc

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

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

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

1 个答案:

答案 0 :(得分:0)

我使用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

然后可以通过传统的tsql方法粉碎@ResponseText中的xml。

这不是一种特别有效的方法;使用SSIS包或CLR集成很可能会产生更好的解决方案,但这是将其全部保存在t-sql中的一种方法。

请参阅:http://social.msdn.microsoft.com/forums/en-US/transactsql/thread/eac9c027-db71-48ae-872d-381359d7fb51/