3

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

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

目前我正在使用

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

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

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

4

2 回答 2

4

我们使用以下技术:

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

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

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

于 2009-01-28T17:23:29.780 回答
0

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

于 2009-01-28T17:13:08.023 回答