目前我对 REST(通过 clr/assembly)和 SOAP(通过基于 sp_OA 的存储过程)有很好的解决方案,但 XML-RPC 仍然是直接从 SQL Server T-SQL 代码访问的问题。
请告知为此目的存在哪些变体。
我需要避开应用层,因为所有逻辑都已经在数据库内的存储过程中,只需要提供记录集。
目前我对 REST(通过 clr/assembly)和 SOAP(通过基于 sp_OA 的存储过程)有很好的解决方案,但 XML-RPC 仍然是直接从 SQL Server 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
然后可以通过传统的 tsql 方法粉碎 @ResponseText 中的 xml。
这不是一个特别健壮的方法。使用 SSIS 包或 CLR 集成很可能会产生更好的解决方案,但这是将其全部保存在 t-sql 中的一种方法。