[英]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.