企业中很多架构都在快走向Service概念,尽量采用平台服务方式提供给各个Application使用。因此,个系统都会去呼叫像是Web Service,WCF或ODATA…等等各种类型的服务。一般来说服务比较常运用都是在AP to AP,不过,有时架构上也必须要用DB去呼叫这类服务。因此,要在SQL Server呼叫Web Service时候,必须在SQL Server上做一些设定动作才有办法,在SQL Server的预存程序中去呼叫Web Service服务,这部分改天再写一篇如何在预存程序呼叫Web Service方法。在SQL Server要呼叫Web Service需要下面几个物件
这些物件都是属于在 OLE Automation 物件的系统预存程序,但是基于安全性考量,SQL Server中,预设这些物件是关闭,要开启这些物件,首先需要开启OLE Automation 程序,这样才有办法在SQL Server中使用OLE物件1.首先可以先查询Ole Automation Procedures目前的状态EXEC sp_configure ‘Ole Automation Procedures‘;
GO但是,当你执行时候会遇到下面这个错误。
主要原因是预设的advanced的操作是是关闭的,所以,并不能查询此设定状态,因此,我们必须先开启advanced option功能
sp_configure ‘show advanced options‘, 1;
GO
RECONFIGURE;上面是启用功能,若是要关闭把1改为0就可以,之后再查询Ole Automation Procedures就可以得到下面结果,也就不会有错
务讯息
从上图中可以得知Ole Automation Procesures还未开启。后续必须要开启此功能
2.启用Ole Automation Procesures,把下列址另从1改为0,就是disable了
sp_configure ‘Ole Automation Procedures‘, 1;
GO
RECONFIGURE;
透过以上这设定就可以开启OLE Automation,这样后续就可以在遇存程序中呼叫Service了