【问题标题】:Check numeric in DerivedColumn Data Flow Task in SSIS在 SSIS 的派生列数据流任务中检查数字
【发布时间】:2009-01-28 17:05:26
【问题描述】:

有什么方法可以检查 Sql Server Integration Services 2005 中数据流任务的派生列/条件拆分中的字段是否为数字。

功能应该类似于 ISNUMERIC() 函数。

目前我正在使用

((DT_NUMERIC,12,0)fieldname= (DT_NUMERIC,12,0)fieldname)

在派生列表达式中检查字段名称是否为数字。但是如果字段名称包含像 123ABC 这样的字符而不是数字 123,则上面的表达式会因为转换失败而引发异常,并且包执行会停止。

如果我们有一个像 ISNUMERIC() 这样的函数,那么我们就不需要做所有这些马戏团了。有谁知道在 SSIS 中是否有这样的功能来检查该字段是否为数字。

【问题讨论】:

    标签: sql-server sql-server-2005 ssis expression


    【解决方案1】:

    我们使用以下技术:

    1. 在派生列组件的属性表单上,您可以单击标记为“配置错误输出”的按钮以调出错误输出配置。

    2. 将此列(或任何其他列)的错误和截断操作配置为“忽略失败”

    3. 现在,如果此列的转换连续失败,包将继续执行。该行的列值将设置为空。您可以使用后续组件来检查空值,并采取适当的措施。

    【讨论】:

      【解决方案2】:

      您可以在出错时重定向行并处理错误。或者使用脚本任务。

      【讨论】:

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