【发布时间】:2009-08-12 08:36:17
【问题描述】:
我正在处理一个有趣的情况,我在单个事务中执行许多数据库更新。如果这些更新因任何原因失败,事务将回滚。
IDbTransaction transaction
try {
transaction = connection.BeginTransaction();
// do lots of updates (where at least one fails)
transaction.Commit();
} catch {
transaction.Rollback(); // results in a timeout exception
} finally {
connection.Dispose();
}
我相信上述代码通常被认为是在事务中执行数据库更新的标准模板。
我面临的问题是,当 transaction.Rollback() 被发送到 SQL Server 时,它也在客户端超时。
是否有区分发出回滚命令的超时和该命令执行到完成的超时?
提前致谢, 本
【问题讨论】:
标签: c# sql-server ado.net transactions rollback