使用 DTS 包的 SQL 作业是否可以访问错误列中的数据?(结果是连接条件不好)

使用 DTS 包的 SQL 作业是否可以访问错误列中的数据?(结果是连接条件不好)

我们看到 Sql 作业/DTS 包失败,因为它将非数字字符数据输入到 int 转换例程中。

这些数据看起来很有可能来自我们表格中的另一列,其非数字格式是合适的。

这种情况已发生过多次。

有谁听说过 Sql 作业/DTS 包“迷失方向”并从错误的列访问数据?

我认为这是一种罕见的可能性,但我们正在使用 SSMS 2008 R2 系统中的 DTS 包(即使在该系统中也被认为是过时的),我想一切皆有可能......

答案1

看起来(至少在这种情况下)该列在连接子句中被正常访问。

这有点类似于这样做:

a.身高 = b.体重

此外,假设体重是双精度数,而身高以四舍五入的英寸整数表示,并且体重不知何故需要一个整数……

虽然这不是确切的情况(它确实试图将 char 转换为 int)但它有点近似于它......

显然,周围的逻辑使该子句在大多数情况下都无法实际运行,因此原本很明显的错误被隐藏了。

一位同事发现了它。

不过,这可能会对其他人有所帮助......

相关内容