【问题标题】:How do you create destination columns in a custom SSIS component?如何在自定义 SSIS 组件中创建目标列?
【发布时间】:2017-02-27 14:48:40
【问题描述】:

在学习如何构建自定义 SSIS 组件时跌跌撞撞。有很多获取输入、转换输入并将其发送到固定输出列的示例。但是,我找不到任何关于在创建输入时如何创建固定目标列的说明。

这是一个正在做我所追求的商业组件:

我要做的就是让用户从可用的输入列中进行选择,并将它们映射到我可以在组件内跟踪的目标。所以我知道,例如,X 列是一个名字,Y 列是一个姓氏等等。

对此进行搜索会产生很多关于 SSIS 中目标组件的信息,但这是我正在尝试构建的转换。如何设置目标列?

【问题讨论】:

  • 你的目标列会被动态命名吗?
  • @digital.aaron 不。我只需要用户能够告诉组件输入中的哪些列代表组件需要的特定数据。
  • 所以问题不在于创建列,而在于转换步骤中源到目标的实际映射?
  • @digital.aaron 两者兼而有之。我基本上需要重新创建显示的对话框,包括输入和目标列。现在我可以处理输入,但我不知道如何使任何目标列可供用户映射到。感谢您提供帮助:我是 SSIS 新手,独自工作:(
  • 现在担心!我在 SSIS 上工作过很多次,但我以前从未公开过转换步骤。我现在正在启动数据工具来探索我的一些潜在想法。我会报告我的发现。

标签: c# sql-server ssis


【解决方案1】:

映射器右侧的列列表(可用目标列)由您正在使用的 Input 的 ExternalMetadataColumnCollection 控制。因此,如果您通过调用 ComponentMetadata.InputCollection.New() 创建了输入 (IDTSInput100),则可以使用其 ExternalMetadataColumnCollection.New() 在该列表中创建一个新列。您只需设置列属性,New() 方法会立即将列添加到列表中。

如果这不是您要找的答案,我可能误解了这个问题,所以请告诉我。

【讨论】:

    猜你喜欢
    • 2011-03-12
    • 2012-09-17
    • 2016-02-24
    • 1970-01-01
    • 2013-01-17
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多