当我运行以下代码时,我得到
“BeginTransaction 需要一个打开的连接。连接的当前状态是打开,正在执行”
例外。
using (var con = new IBM.Data.DB2.DB2Connection(
"Server=localhost;Database=SAMPLE;UID=***;PWD=***;"))
{
con.Open();
var c = con.CreateCommand();
c.CommandText = "select * from DB2TEST";
using (var r = c.ExecuteReader())
{
r.Read();
con.BeginTransaction();// The exception is thrown here!!!
}
}
我知道,如果我将 Begin 事务移到代码中的较早时间,它将起作用 - 但这并没有减少它。我需要迭代一个非常大的阅读器并根据需要打开和关闭事务。
我尝试了 ExecuteResultSet - 但得到了相同的行为。