【发布时间】:2016-04-01 00:16:42
【问题描述】:
我正在创建 SSIS 包并执行以下操作,到目前为止,我的 SSIS 包可以很好地仅从一个文件夹位置插入来自“.DBF”文件的记录(我正在使用数据流任务到控制流和 OLE DB 源/读取 .DBF 文件并将其插入的目标)。但是,我无法弄清楚如何使其适用于 20 个站点,例如:我有 20 个“.DBF”文件存储在以下结构中:
1. E:\DBF Files\Site1\Data\records.DBF
2. E:\DBF Files\Site2\Data\records.DBF
3. E:\DBF Files\Site3\Data\records.DBF
4. E:\DBF Files\Site4\Data\records.DBF
以此类推,直到 Site20(此处文件名保持不变,但内容因站点而异)。
我的 SQL Server 中有“records.dbf”文件的表,结构如下:
记录表:
Product_Name Price FilePath FileName
---------------------------------------------------------------
现在在这里,如何使用 SSIS 处理来自不同站点的这些文件以存储在我的记录 sql 表中,并使用其各自的 FilePath??
P.S 文件名将始终保持不变,路径将更改为“Like Site 1”
【问题讨论】:
-
你可以通过脚本任务来完成。
-
@TabAlleman 怎么样?你能详细说明一下吗?
-
现在我再次查看您的问题,我真的不确定您在问什么。什么是第 1 列和第 2 列?文件路径/名称是否会更改,或始终保持不变?
-
@TabAlleman 这里文件名将始终保持不变,只有文件路径会改变,这里改变的变量是“Site1,Site2..etc”,对于文件包含的列“属性基本上”
-
戴夫走在了正确的轨道上。我手边没有快照,但尝试使用谷歌搜索了解 SSIS 中的 ForEachLoop 容器,以及如何在 SSIS 的平面文件数据源中使用表达式。这应该告诉你所有你需要知道的。
标签: sql sql-server ssis sql-server-2012 ssis-2012