图解SQLServer2005获取WebService数据

 SQLServer2005可以通过ssis来访问webservice并把结果保存到数据库中,这对整合互联网资源带来了极大的便利,几乎不用编写任何代码就能实现.

¤ 这里的例子使用一个天气预报的web服务.服务描述如下

wsdl地址
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
测试的web方法为根据城市名来获取天气数据,web方法为
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getWeatherbyCityName

¤ 测试用例为一个ssis正确配置并运行后可以把webservice返回的数据保存到数据库表格中,这里需要一个测试用表,在你的数据库中运行如下语句

create table Weather(city varchar(100),result varchar(max),time datetime default getdate())


¤ 用vs2005或者SQL Server Business Intelligence Development Studio新建一个商业智能项目。


¤ 配置如下图组


1、创建Web服务组件




2、编辑组件属性


3、设置http连接,这里没有单独创建,要在下拉列表中新建一个


4、创建http连接属性,在地址处输入wsdl的地址就可以了


5、下载wsdl文件,设置好http连接后,在wsdlfile空白处填上本地wsdl的文件路径,如果文件已经存在就在overwritewsdlfile处选择true,否则可以选择false。


6、设置Web服务组件的输入项,这里需要选择web服务名和web方法以及输入参数


7、设置web服务组件的输出属性,可以输出到文件或者变量,我们这里输出到变量来传给下游组件。


8、新建一个变量


9、这样访问webservice的组件就配置好了,接下来配置一个sql任务来保存结果


10、设置连接属性,指向本文开始创建Weather表的数据库。


11、设置sql任务组件的属性表达式来拼动态sql语句



12、设置SQLStatementSource的表达式,就是设置要执行的sql语句。


13、这样保存结果的任务也完成了,把两个任务连起来


14、调试


15、查看结果



16、任务完成。


原文地址:https://www.cnblogs.com/cl1024cl/p/6204864.html