1

我在一个目录中有几个文件。文件名约定是yob + year + .txt

这是一个文件名的示例:“yob1920.txt”

文件的结构如下name,sex,number:(注意没有年份字段,因为年份是文件名的一部分。

我的临时表的结构是:tblNames(year, name, gender, number)

我的要求:

  • 获取每个文件名的日期部分(1920、1921 等)
  • 将其插入到带有名为 Year 的列的临时表中

我创建了一个多文件连接、一个 foreach 容器,在该容器内部我有一个数据流任务,它遍历目录并插入数据。

问题是我不完全理解(即使在阅读了几个站点之后)变量是如何与容器和实际完成工作的数据流任务相关的。

我可以就从文件名中获取子字符串并将其插入到具有所述文件中不存在的列的数据库表中获得一些指导吗?

4

1 回答 1

6

首先,您可以使用Foreach 循环容器(Foreach 文件枚举器)来循环放置源文件的目录。因此,您可以使用Variable Mappings将文件名存储到变量中:

在此处输入图像描述

然后使用变量值创建一个平面文件连接,其连接字符串表达式为:

在此处输入图像描述

然后您可以使用“派生列”添加一个带有变量子字符串的新列:

在此处输入图像描述

于 2013-09-16T07:49:29.107 回答