3
我试图创建我的第一个数据流组件,将采取输入地址运行它通过PAF api并吐出格式正确的地址和原始输入列从一个文件源或数据库表。C#的SSIS数据流组件 - 创建自定义输入列
我需要以特定格式提供源输入地址,所以我需要用户将源输入列映射到特定的自定义输入列。我能够使用input.ExternalMetadataColumnCollection创建自定义输入列,并且工作正常。不过,我现在被告知,我需要提供将源文件中的所有可用列作为输出列的选项。
我已经尝试创建出现在列映射选项卡中的其他输入列,但我并非都可用的所有源输入列。以下是我到目前为止所尝试的。任何建议将不胜感激。所以我的问题是如何添加额外的自定义输入列以及包括所有源列?
IDTSExternalMetadataColumnCollection100 externalInput = input.ExternalMetadataColumnCollection;
externalInput.IsUsed = true;
IDTSExternalMetadataColumn100 externalInputColumn = externalInput.New();
externalInputColumn.Name = constInputAddressLineOne;
externalInputColumn.DataType = DataType.DT_WSTR;
externalInputColumn = externalInput.New();
externalInputColumn.Name = constInputAddressLineTwo;
externalInputColumn.DataType = DataType.DT_WSTR;
重申一下,您的组件总是会向输出集合中添加N个新列,但您可能还需要保留原始列? – billinkc
我需要保留原始源输入列和值。我需要确保一些输入列被映射到自定义输入列。即类似源输入列addressLine1,addressLine2,addressLine3被映射到自定义输入列AddressLineOne,AddressLineTwo,AddrssLineThree。我需要这样做,因为地址必须以paf api的特定格式才能正确工作,即在邮编之前的HouseNo。 – zeencat
走出组件,你会得到原始的addressLine1列(lineageId 100),但是你也会有你的新列AddressLineOne(lineageId 200),它是从你的组件生成的并且包含更正后的地址。自从我编写了自定义组件以来,我一直在努力确保我理解这个问题。 – billinkc