【问题标题】:SSIS - Pulling data from sql viewSSIS - 从 sql 视图中提取数据
【发布时间】:2016-02-16 22:52:29
【问题描述】:

我正在创建一个 SSIS 包以使用 SQL 视图提取数据。我有三个视图可以从中提取数据。每个视图的结果将被视为单独的记录集。我正在创建一个数据流来实现这一点。我基本上必须遍历记录集并调用 webservice 一次传递一行数据。最好的方法是什么?我需要创建三个数据流任务还是可以在单个数据流任务中实现。我想我不需要存储从视图中检索到的数据。但是在 SSIS 中读取和传递数据的方式是什么。

【问题讨论】:

  • 你为什么要为此调用网络服务?
  • 我正在使用网络服务,因为这是我在客户网站上上传数据的唯一机制。他们为我们提供了一个上传网络服务,我们可以使用它来上传数据。此服务的唯一缺点是它一次接受一行数据,这些数据将是包含字段值的分隔字符串。
  • 您可以在单个 DFT 中容纳 3(sql 视图 --> 记录集)。调用 Web 服务是您需要在控制流中的 Web Service Task 中执行的操作,而不是数据流。
  • 我的查询是如何遍历每个记录集并调用 web 服务。我打算使用脚本任务进行网络服务调用。例如,我得到三个记录集。我遍历第一个记录集并通过脚本任务调用 web 服务。然后通过脚本任务循环遍历第二个记录集和所有 Web 服务。等等等等
  • 我就是这么说的。脚本任务/Web Service 任务是需要在控制流中处理的东西,而不是数据流。您需要的 3 个记录集可以填充到单个 DFT 中。到达那里后,从 script taks/Web Service Task 中的记录集中上传数据。

标签: ssis


【解决方案1】:

执行您在上一条评论中描述的一种方法是使用执行 SQL 任务来查询您的视图并填充对象变量。然后使用您的脚本任务遍历变量中的行(将对象变量转换为 DataTable)并调用您的 Web 服务。

如果所有三个视图的脚本完全相同,您可以将此过程放在循环容器中。否则我会使用三组独立的执行 SQL / 脚本任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多