在数据库开发和数据集成领域,经常会遇到需要从远程数据源获取数据的情况。本文将介绍如何通过SQL Server Integration Services (SSIS) 包调用Web服务,并将返回的XML数据存储到SQL Server数据库中,最后使用XQuery提取数据。这个过程可以用于从任何公开的Web服务中获取信息。
在处理地址数据时,如果地址信息不完整,而只有邮政编码这一一致的信息,那么如何获取城市和州的信息呢?直接解析字符串以获取城市和州是不可行的,因为城市名称可能包含多个单词,例如“Traverse City, MI”。因此,需要调用Web服务来获取这些信息。
本文的目标受众是中级到高级的数据库或SSIS开发者。以下是实现此功能的主要步骤:
使用SQL Server Management Studio的导入和导出向导,将地址数据导入到数据库表中。
在数据库表中添加列,用于存储从Web服务调用返回的邮政编码和XML数据。
创建一个存储过程,用于获取数据库表中的所有邮政编码。
创建另一个存储过程,用于存储Web服务调用返回的XML数据。
创建一个空的WSDL文件,该文件将由SSIS包在后续步骤中使用。
使用Visual Studio创建一个新的Integration Services项目,并添加必要的连接管理器、变量和任务。
在数据库表中查看Web服务调用的结果,并使用XQuery提取所需的数据。