簡體   English   中英

不使用SSIS插入數據時如何查找錯誤數據

[英]How to locate error data when inserting data without SSIS

我有一個表,其中有許多整數類型的列,它用於從所有對應列均為varchar的另一個源表中插入數據。

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

最后,該腳本引發了一個數據級但模糊的錯誤,如“無法將某些內容轉換為int”或“通過轉換為int的算術溢出錯誤”。 但是,由於我有那么多的int列和這么多的數據行,因此,至少在列級別上,不太可能找到錯誤的來源。

此外,由於某種原因,不允許使用SSIS重定向並針對我的情況查找錯誤數據,僅提供SQL腳本級別。 有什么解決辦法嗎?

可以從SSIS中的OLE DB目標中重定向錯誤行。 請勿在目標中使用快速加載,將錯誤輸出配置為“重定向行”而不是“故障組件”,使用紅色箭頭/數據流路徑將不良行發送到派生的列任務,將數據查看器置於紅色數據流路徑。

那應該使您能夠找到導致問題的特定行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM