首页 文章

如何在没有SSIS的情况下插入数据时定位错误数据

提问于
浏览
0

我有一个包含许多整数类型列的表,它用于从另一个源表插入所有相应列都是varchar的数据 .

INSERT INTO mytable(intCol1, intCol2, ...intColN, [OtherCols])
SELECT CAST(col1 AS int), CAST(col2 AS int),.... FROM SourceTable

最后,该脚本引发了一个数据级但却模糊不清的错误,例如“无法将某些内容转换为int”或“通过转换为int而导致算术溢出错误” . 但是,由于我有这么多的int列和如此多的数据行,所以不太可能找到错误源的位置,至少在列级别 .

更重要的是,由于某种原因,不允许使用SSIS重定向并查找我的情况的错误数据,只有SQL脚本级别可用 . 有什么解决方案吗?

1 回答

  • 0

    可以从SSIS中的OLE DB目标重定向错误行 . 不要在dest中使用快速加载,将错误输出配置为“重定向行”而不是“失败组件”,使用红色箭头/数据流路径将坏行发送到派生列任务,将数据查看器置于红色数据流路径 .

    这应该允许您找到导致问题的特定行 .

相关问题