0

我每天有大约 20 个 TXT 文件,它们的名称和结构不同。

Files Names  -->  Table Names
-----------------------------------------------------
Tbl-Sales-yymmdd-hhmmss.TXT  -->  Table-Sales   
Tbl-Customers-yymmdd-hhmmss.TXT  -->  Table-Customers

我需要创建一个 SSIS 包来将这些 TXT 文件导入 SQL 表。我尝试了多个 Foreach 循环容器,但是一旦第一个容器完成,其余的将返回空枚举器并跳过里面的所有任务。任何帮助,将不胜感激。谢谢。

4

1 回答 1

0

我假设您Table-SalesTable-Customers表具有不同的列集合。这意味着每个目标表至少必须有一个数据流任务:每个目标表都需要自己的一组列映射。

这样做的困难在于,随着源文件上的日期和时间戳发生变化,您可能不想更改每个平面文件连接以指向正确的源文本文件。

处理这种情况的最简单方法是标准化您的文件名,在这个意义上:复制到另一个专用目录中Tbl-Sales-yymmdd-hhmmss.TXT调用的文件,复制到同一个专用目录中,并设置所有平面文件连接管理器(因为您每个源文件类型可能需要一个)指向专用目录中的文件。然后,您将拥有一个不需要自定义编程或弄乱变量的 SSIS 包:只要文件在那里,它就会执行而无需进一步干预。 Table-Sales.txtTbl-Customers-yymmdd-hhmmss.TXTTable-Customers.txt

您可能可以使用 SSIS 将带时间戳的文件复制到正确的目标文件名,或者使用一些代码来完成,或者(可能)甚至使用老式的 .bat 文件。有很多方法。

于 2013-04-28T14:48:46.863 回答