1
我正在使用我正在使用的其中一個Web服務發生這種重複出現的問題。 我正在使用數據適配器使用事務和批量更新。最重要的是,我還使用Oracle Command Builder來獲取我分配給dataadapter的插入/刪除/更新命令。事務對象與連接對象沒有關聯 - OracleClient
這裏是一些從我的服務中提取的代碼;並與錯誤行:
介意 - 我張貼從我的源代碼中提取:
OracleTransaction trx = null;
if ((Transaction.Current.TransactionInformation.DistributedIdentifier == Guid.Empty))
{
con.ConnectionString = con.ConnectionString + ";enlist=false"; ;
con.Open();
trx = con.BeginTransaction();
cmd.Transaction = trx;
}
try
{
dsEmpData.AcceptChanges();
for (int i = 0; i < dsEmpData.Tables[0].Rows.Count; i++)
{
dsEmpData.Tables[0].Rows[i].SetAdded();
}
OracleCommandBuilder cb = new OracleCommandBuilder();
string SQL
= "--MY SELECT COMMAND. REMOVED BECAUSE IT IS NOT NECESSARY IN THIS BLOCK";
OracleDataAdapter da = new OracleDataAdapter(SQL, ConnectionString);
OracleCommandBuilder cmdInsert = new OracleCommandBuilder(da);
dsEmpData.Tables[0].TableName = "TABLENAME".ToUpper();
if ((Transaction.Current.TransactionInformation.DistributedIdentifier == Guid.Empty))
{
da.SelectCommand.Transaction = trx;
da.InsertCommand = cmdInsert.GetInsertCommand();//ERROR LINE
da.InsertCommand.Transaction = trx;
}
da.Update(dsEmpData, "TABLENAME".ToUpper());
if (trx != null)
{ trx.Commit(); }
}
catch (Exception ex)
{
if (trx != null)
{ trx.Rollback(); }
throw new FaultException("MY MESSAGE " + ex.Message);
}
因此,如上面說 - 我得到的異常「交易對象不與連接相關聯對象「上述行:da.InsertCommand = cmdInsert.GetInsertCommand();
任何有關此事的幫助將不勝感激。如果您需要更多信息,請讓我知道。
在此先感謝。
哇 - 這也許是可能的!讓我檢查一下,我會回到你身邊。 –
Bravo!那就是訣竅。謝謝一堆! 乾杯 –
Thx對於這個問題的答案很有幫助,可以幫助我們理解第三方軟件存在的問題。 – boutta