我们看到 Sql 作业/DTS 包失败,因为它将非数字字符数据输入到 int 转换例程中。
这些数据看起来很有可能来自我们表格中的另一列,其非数字格式是合适的。
这种情况已发生过多次。
有谁听说过 Sql 作业/DTS 包“迷失方向”并从错误的列访问数据?
我认为这是一种罕见的可能性,但我们正在使用 SSMS 2008 R2 系统中的 DTS 包(即使在该系统中也被认为是过时的),我想一切皆有可能......
答案1
看起来(至少在这种情况下)该列在连接子句中被正常访问。
这有点类似于这样做:
a.身高 = b.体重
此外,假设体重是双精度数,而身高以四舍五入的英寸整数表示,并且体重不知何故需要一个整数……
虽然这不是确切的情况(它确实试图将 char 转换为 int)但它有点近似于它......
显然,周围的逻辑使该子句在大多数情况下都无法实际运行,因此原本很明显的错误被隐藏了。
一位同事发现了它。
不过,这可能会对其他人有所帮助......