0

我有一个场景,我需要将文本文件或 excel 文件列作为参数传递给 SSIS 包中的 Sql 查询。

我的文本或 excel 文件有一个名为 Policy_no 的列,它有超过 1000 多个 policy_no(EX:12358685)。我有一个 Sql 脚本*select * from main_table where policy_no = ?*。那个'?必须来自我的包变量(txt 或 excel)。

我们如何通过 SSIS 来实现这一点,而不是为每个策略手动编写脚本。

谢谢

4

2 回答 2

0

假设您要遍历文件中的每一行并对每个单独的值运行查询,您可以使用数据流任务来读取文本文件并将策略编号加载到 ADO 记录集(声明为包变量)中。接下来,您将使用 Foreach 循环容器遍历记录集,将每个策略编号依次加载到第二个变量中,然后执行您的查询并执行任何其他需要的工作。

有关概述和示例,请参阅在 MSDN 中使用记录集目标。

于 2013-09-13T02:36:48.417 回答
0

您可以使用EXECUTE SQL TASK(将 Excel 与 OLE DB 连接)从 Excel 中获取“Policy_no”数据,然后将结果存储到一个变量中,例如:policyNoGroup,其数据类型应为Object,然后使用For Each Loop进行循环变量 policyNoGroup,参见示例: http: //www.codeproject.com/Articles/14341/Using-the-Foreach-ADO-Enumerator-in-SSIS

于 2013-09-13T02:52:56.850 回答