【问题标题】:How to read and change the column name in Script Component in SSIS如何读取和更改 SSIS 脚本组件中的列名
【发布时间】:2011-05-04 14:21:39
【问题描述】:

来源:ADO.Net(TSQL -query):查询将返回数据集(列名是月份,即 JAN FEB MAR APR JUN JUL .... DEC)

目标:Excel

如果您运行该程序包,它正在传输数据,并且 Excel 的列名如下 JAN FEB MAR .. DEC --> 这是预期的结果

新要求: 1.声明一个名为“Year”的变量,值为2010。这可能会有所不同。 2. 在数据流中使用 脚本组件 我必须将列名更改为末尾有 _2010,即 JAN_2010 FEB_2010 MAR_2010 ... DEC_2010(2010 应该来自变量) 3. 脚本组件中名为“ProcessInputRow”的方法中需要编码的内容。 请告诉我如何实现这一点,即更改 Script Component 中的输入列名称 并将其转移到目的地?

提前致谢

【问题讨论】:

    标签: c# etl ssis


    【解决方案1】:

    您实际上不能以编程方式添加列或更改列名,因为列名在以后的数据流中需要是静态的。

    您可以通过进入脚本转换编辑器上的输入和输出区域,打开输出 0,然后在输出列区域中添加 12 列来为输出添加新列。然后,您可以将每个输入列中的数据分配给脚本中相应的输出列。

    使用派生列转换可以更好地实现这一点。

    话虽如此,我有一种感觉,您真正想要的不是 JAN_2010、FEB_2010 等,而是在月份名称后附加的当前年份。您实际上不能让动态列名流经您的数据流。

    但是您可以尝试以下方法:Excel 列名实际上只是 Excel 电子表格第一行的内容。创建一个流,在电子表格的顶部用正确的数据输出单行(使用脚本组件作为数据源),然后运行您的数据流来添加数据。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多