【发布时间】:2011-12-15 06:17:52
【问题描述】:
我正在尝试使用 SSIS 平面文件目标,但无法想出解决方法来让输出文件有两列命名为相同的东西。
我要求输出文件具有列标题:
first1, last1, email, shortname, email
每当我尝试映射源数据时,都会收到错误消息,例如“此列名称已存在”和“存在多个名称为“电子邮件”的数据源列”。
最好的解决方法是什么?
谢谢
【问题讨论】:
标签: ssis etl flat-file dataflow
我正在尝试使用 SSIS 平面文件目标,但无法想出解决方法来让输出文件有两列命名为相同的东西。
我要求输出文件具有列标题:
first1, last1, email, shortname, email
每当我尝试映射源数据时,都会收到错误消息,例如“此列名称已存在”和“存在多个名称为“电子邮件”的数据源列”。
最好的解决方法是什么?
谢谢
【问题讨论】:
标签: ssis etl flat-file dataflow
假设我正确理解了问题,您需要在输出文件中使用相同的列名两次。不管是不是同一个数据,只是header需要重复。
这有点做作,但在您的连接管理器中,取消选中“第一个数据行中的列名”并将列重新定义为 email 和 email1。这将允许您将列连接到文件中的正确位置。
在您的平面文件目标中,您可以定义标题行。它非常有限,您不能将有用的东西放在那里,例如动态校验和等,但在您的情况下,粘贴 first1, last1, email, shortname, email 并运行包。数据将被提取到正确的列中,并且标题行将被添加到具有所有“正确”字段名称的文件中。
这种方法有两个缺点。首先是连接管理器仅在尝试从文件的标题行中读取时才变为输出。其次是布局的任何更改都不会与手动标题行保持同步。
【讨论】: