从SQL Server 2005存储过程访问Web服务

时间:2008-10-31 08:15:22

标签: sql-server web-services tsql

目前我有一个存储过程可以对表进行一些更新,在完成后,我需要调用一个Web服务。

该过程使用事务,我需要在事务结束时调用Web服务。如果Web服务调用失败,则事务将被回滚。

我需要知道如何向SQL添加SOAP Web服务引用,以及如何从存储过程中调用该服务。

出于架构原因,排除了分布式事务/企业服务。

稍后编辑:此外,还排除了CLR程序集。已在我需要部署该过程的服务器上停用CLR。

2 个答案:

答案 0 :(得分:2)

这个Simple-Talk tutorial向您展示了如何实现这一目标。

您也可以执行此操作using COM但它需要使用sp_OACreate,许多DBA都不允许您运行它(它需要打开配置选项)

答案 1 :(得分:0)

如果您可以控制此Web服务正在使用(绑定)的数据源,则可以考虑将此数据源作为链接服务器添加到SQL 2005服务器的选项。这样,您就可以使用OPENQUERY对此数据源执行SQL,而无需通过Web服务访问它。