我不清楚SSIS中的“输出列”和“外部列”之间的区别。我已经在网上寻找解释,但仍不清楚。例如,此博客条目:http://consultingblogs.emc.com/jamiethomson/archive/2006/05/23/SSIS_3A00_-The-difference-between-output-columns-and-external-columns.aspx和此问题:http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/f5fa8785-46cc-44e1-9251-8503d2725523/。
例如,如果您有一个带有此查询的SQL OLEDB源:
SELECT ID, Name FROM Person
然后将结果写入文本文件。然后每个都有一个输出列和一个外部列。在某些网页上,它说外部列包含元数据。例如,如果Name在SQL OLEDB数据源中是VARCHAR(30),而在文本文件中是VARCHAR(50),那么输出列和外部列的值是什么?
谁能指出我的MSDN文章,清楚地解释了这些区别?我今天早上已经搜寻了一个多小时。
最佳答案
我还没有找到有关它的完整MSDN文章,但是我认为this MSDN article的最合适的图清楚地表明了这一点。
通常,数据源具有外部列,这些外部列在源列和输出列中存储有关数据结构的信息,这些外部列存储其通过数据路径发送的信息的结构。它将数据从外部列复制到输出列。数据目标具有输入列,这些输入列存储有关它从数据路径接收的日期结构的信息,而外部列则描述目标中的结构。它将数据从输入列复制到外部列。
在您的情况下,应为:
Source:
External columns:
Name Type Length
Id DT_I4 0
Name DT_STR 30
Output columns:
Name Type Length
Id DT_I4 0
Name DT_STR 30
Destination:
Input columns:
Name Type Length
Id DT_I4 0
Name DT_STR 30
External columns:
Name Type Length
Name DT_STR 50