SSIS和TXT文件中的规范化数据

时间:2013-09-07 22:11:00

标签: .net sql-server ssis

我正在学习SSIS,我对如何规范化文本文件中的现有数据有疑问。

在我的目录中,我有一个美国每个州的文本文件,因此AK.txt和AL.txt具有以下结构:

AK,F,1910,Mary,14 AL,F,1910,Mary,875

这代表state,sex,year,name,frequency

如果我有以下表格:

  • 状态(ID,状态)
  • 性(ID,性别)
  • 年(ID,年)
  • 名称(ID,姓名,频率)

我将使用SSIS中的哪个转换将每个数据元素放在其各自的表中?

2 个答案:

答案 0 :(得分:1)

一个。要首先捕获多个文件,这里有两个选项:

  1. 使用For Each File迭代器遍历每个文件并加载到某个东西(行集对象,原始文件或临时表),然后将其用作B部分的源

  2. 或者为每个文件创建一个平面文件源,并使用union运算符将其连接起来(不推荐)

  3. B中。将单个数据流转换为多个表

    使用多播将数据转发到5个流。然后命令并区分它们以获得不同的记录,然后将它们加载到表中。

    我个人的偏好是加载到临时表中,然后通过SQL执行所有操作。

答案 1 :(得分:0)

如果您的文件是comma分隔的“州,性,年......”最简单的方法是使用平面文件来源。您可以将其设置为使用逗号作为列分隔符,将换行符用作行分隔符。确保在高级下设置正确的数据类型。然后输出是每个分隔字段的列。然后使用其中一个目标(OLE DB ..)并将这些内容放在yout表中。

enter image description here

如果您有任何问题,请告诉我