SSIS包:如何通过调用ssis包中的Web服务将数据插入/更新到Sql server表中?

时间:2012-01-17 11:27:30

标签: web-services sql-server-2008 ssis

有没有办法在ssis包中调用Web服务,以便将一些数据插入SQL Server中的表中?怎么样?请问任何样品或指导?

1 个答案:

答案 0 :(得分:0)

我假设您的问题是,您指的是使用Web服务作为数据流的目标?我继承了一系列与我们的MS CRM站点集成的软件包。按照设计,这些包装非常适合SSIS范例,但这是我的负担......

这些包通常符合提供给脚本任务(目标)的源(OLE DB或平面文件)的形式。我不知道提供特定任务的所有代码是有启发性的。它只是为发送到它的每一行调用Web服务。 RBAR不是基于SSIS或基于语言设置的语言,但您当然可以这样做。

  • 脚本转换将为服务提供Web引用(我们的名称为CrmSdk)。
  • 将服务实例声明为ScriptMain
  • 的成员
  • 在脚本中实例化该服务,根据需要传递凭据。最有可能在您的PreExecute方法
  • 使用Row.Column1表示法在Input0_ProcessInputRow方法中调用Web服务。请注意空值以及Web服务如何处理它们。我们的代码使用service.CompanyName = Row.CompanyName_IsNull ? string.Empty : Row.CompanyName;

如果您打算在控制流级别使用Web服务,请注意默认任务具有5分钟的硬编码超时。不确定是否仍然如此,但在我处理的2005包中,我们不得不使用直接的脚本任务与我们的web服务进行通信(它以批量方式清理数百万行地址数据)以绕过超时问题。 Reference超时属性

相关问题