0

我正在用 Oracle 的托管驱动程序替换我们旧的非托管 ODP 驱动程序,并且我发现我的事务正在提交,即使显式回滚或未提交也是如此。

var conn = new OracleConnection(...);
conn.Open();
var trans = conn.BeginTransaction();
var cmd = conn.CreateCommand();
cmd.ExecuteNonQuery(...);
trans.Rollback();
conn.Close();

在这种情况下,一旦代码停止运行,我的插入就会提交。

我错过了什么?

4

1 回答 1

-2

创建后尝试为命令指定打开的事务 -

var cmd = conn.CreateCommand();
cmd.Transaction = trans;        // <----
于 2015-10-07T12:58:15.413 回答