【问题标题】:How to add new column in SSIS Package. When the columns are at max?如何在 SSIS 包中添加新列。当列达到最大值时?
【发布时间】:2022-01-09 05:54:14
【问题描述】:

我有一个包含 600 列的包,现在我需要在包中添加一个新列。但是 SSIS 告诉我我达到了列的最大限制。有什么办法可以添加新列吗?

【问题讨论】:

  • 在考虑如何添加新列之前,您应该考虑一下为什么单个包中有600列!请提供有关您正在设计的包(ETL 作业)和数据源的更多信息,以便您获得更好的支持。

标签: sql-server ssis etl ssis-2012


【解决方案1】:

在考虑添加新列之前,您应该考虑为什么一个包中有 600 列!!

在处理具有大量数据列的数据源时,您应该忽略无用的列或将它们合并到一个 Jumbo 列(逗号分隔值、JSON、XML...) .

示例 1 - 平面文件

如果您的数据源是平面文件并且只有前几列有用,您可以转到平面文件连接管理器 > 高级选项卡并尽量减少列数。

示例 2 - SQL Server 源代码

如果您的数据源是 SQL 数据库,您可以使用 CONCAT_WS() 等函数自定义需要合并的列(与分隔符连接)。举个例子:

SELECT [Co1], [Col2], [Col5], CONCAT_WS(';',[Col3],[Col4],[Col6]) as [Jumbo1], CONCAT_WS(';',[Col7],[Col8],[Col9]) as [Jumbo2]
FROM MyTable

重要提示:如果您使用 OLE DB 源,请不要通过在 OLE DB 源编辑器中取消选中列来忽略列。请改用 SQL 命令。我强烈建议阅读以下文章:

类似问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多