【问题标题】:How do I tweak columns in a Flat File Destination in SSIS?如何在 SSIS 的平面文件目标中调整列?
【发布时间】:2010-03-18 21:25:21
【问题描述】:

我的 SSIS 项目的数据流中有一个 OLE DB 数据源和一个平面文件目标。目标只是将数据泵入文本文件,它就是这样做的。

我遇到的问题是格式。我需要能够 rtrim() 几列来删除尾随空格,而且我还有几列需要保留它们的前导零。当前进程正在丢失所有前导零。

rtrim() 可以通过简单的截断并忽略截断错误来完成,但这非常不雅且容易出错。我想找到一种更好的方法,比如在需要的地方实际执行 rtrim() 函数。

在 SO 上探索类似的 SSIS 问题和答案,要做的事情似乎是“使用脚本任务”,但这通常只是扔在那里没有细节,而且设置起来根本不是直观的事情。

我不知道如何使用脚本来做我需要的事情。我是在控制流上使用脚本任务,还是在数据流中使用脚本组件?我可以在脚本中需要的地方执行 rtrim() 和填充字符串吗?有人有这样做或类似事情的例子吗?

非常感谢。

【问题讨论】:

    标签: ssis


    【解决方案1】:

    使用 SSIS,有许多可能的解决方案!根据您提到的,您可以在数据流中使用派生列转换来执行修剪和填充 - 您将使用表达式来执行此操作,这将相对简单。例如,

    ltrim([ColumnName])
    

    修剪和类似的东西

    right("0000"+ [ColumnName],6)
    

    填充(这不是我的想法,所以语法可能不准确)。

    至于脚本方法,那也是有效的。您将在数据流上使用脚本组件转换并使用 VB.NET 或 C#(如果您有 2008)字符串操作方法(例如 strVariable.Trim())。

    【讨论】:

    • 这是间接的问题...太多的选择!我使用了派生列变换,并且非常轻松地完成了这个技巧。感谢启示者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多