2009-05-22 42 views

回答

2

我認爲一個更好的解決方案是修復錯誤的解決方案。怎麼了? SQL?基礎表?數據?

例外情況應該是「例外」。什麼情況非常常見,以至於你可能更頻繁地看到這一批次?

例外是告訴你有什麼不對勁。我不想推薦一個可以讓你忽略該信息的修復程序。如果拋出異常,這意味着您有機會改進catch塊中的根本問題。

如果您正在遍歷批處理中的每條語句,則可以分別從每個語句中捕獲異常並簡單記錄錯誤。只是不要完全忽略它。

但是,除非你能想到另一種恢復策略,否則你運氣不好。

0

好吧,如果你想保存所有可能插入的數據,只需執行commit並保存。

循環遍歷批處理中的每條語句是不可能的,只有當您調用execute batch時,您將得到異常,而不是每個語句(addbatch),因此無法準確找到錯誤的位置:您可以保存其中的一部分,或者什麼都不保存,你決定(提交或回滾)。