我正在编写一个程序,它使用ADO.NET的SqlCommand来执行许多用户提供的批量T-SQL语句.
我的应用程序打开一个事务,其中执行所有语句以确保如果执行任何错误,则回滚整个批次.
我遇到的问题是,在用户提供的SQL中,错误放置的COMMIT(没有匹配的BEGIN TRAN)将提交我的所有重要事务并让我无法回滚.
有没有人有任何想法如何阻止用户的SQL搞乱我的事务,但仍允许他们BEGIN/COMMIT/ROLLBACK他们自己的嵌套事务?
c# t-sql sql-server ado.net
ado.net ×1
c# ×1
sql-server ×1
t-sql ×1