在SSIS中,我已经有一个使用WSDL发送SMS的Web服务任务。我确实能够使用此任务发送短信。
我想从数据库中为此任务提供供应值,例如手机号码,消息正文,用户ID等。
如何创建可以作为输入传递给Web服务任务的复杂类型用户变量?
答案 0 :(得分:0)
看起来唯一的答案是将Web服务更改为仅接受简单类型作为参数。我在网上搜索过,似乎没有办法动态创建复杂类型供Web服务任务中的输入值使用。
答案 1 :(得分:0)
更容易'方法是使用脚本组件绕过变量到Web服务。检查http://amolpandey.com/2016/09/26/ssis-script-task-to-obtain-geo-cordinates-from-address-text-via-google-api/& http://www.sqlmusings.com/2011/03/25/geocode-locations-using-google-maps-v3-api-and-ssis/。 经过测试和工作。使用此任务可以绕过SSIS变量/参数。 示例:从具有执行SQL任务的表中获取ID,addreess,zipcode,city,country。更改结果集:“常规”选项卡上的完整结果集。然后在结果集选项卡上添加Result_Name:0& Variable_Name:User :: YourObject。然后下一个任务将是Forlooptask编辑器(Foreach ADO枚举器,Collection选项卡 - Ado对象源变量:User :: YourObject,枚举模式:第一个表中的行,变量Mapping选项卡 - Variable User :: Id,0 | address, 1等)。在Forlooptask编辑器中,您添加了一个数据流任务,该任务的源将是一个脚本组件。如果您对您的逻辑更具体,我们可能会为您提供更多帮助。