我正在編寫一個程序,該程序使用ADO.NET的SqlCommand執行大量用戶提供的T-SQL語句批處理。阻止T-SQL語句提交應用程序啓動事務
我的應用程序打開一個事務,其中執行所有語句以確保執行任何錯誤時,整個批次都會回滾。
我遇到的問題是,在用戶提供的SQL中,放置不當的COMMIT(沒有匹配的BEGIN TRAN)會提交我的所有重要事務,並使我無法回滾。
有沒有人有任何想法如何我可以阻止用戶的SQL從我的交易搞亂,但仍然允許他們BEGIN/COMMIT/ROLLBACK自己的嵌套交易?
這是我最初的想法,但解析SQL並且仍然允許嵌套事務並不重要。 – rnwood