采用ODAC 10.2.0.2 版本,
编写如下代码:
 using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) 
  {
string str = "Insert into test1 (AA,BB,CC,DD) values(:AA,:BB,:CC,:DD)";            OracleConnection OraConn = new OracleConnection (m_dataConnection);            try
            {
                OraConn.Open();                OracleCommand OraCom = new OracleCommand(str, OraConn);                OraCom.Parameters.Add("AA", OracleDbType.Varchar2 ,part.AA, System.Data.ParameterDirection.Input);
                OraCom.Parameters.Add("BB", OracleDbType.Varchar2, part.BB, System.Data.ParameterDirection.Input);
                OraCom.Parameters.Add("CC", OracleDbType.Varchar2, part.CC, System.Data.ParameterDirection.Input);
                OraCom.Parameters.Add("DD", OracleDbType.Varchar2, part.DD, System.Data.ParameterDirection.Input);                int i = OraCom.ExecuteNonQuery();                if (i == 0)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
            catch(Exception ex)
            {
                return false;
            }
            finally
            {
                if (OraConn.State == System.Data.ConnectionState.Open)
                {
                    OraConn.Close();
                }
            }
}在打开数据库(Open())时,出现异常,【无法登记分布式事务处理】,经过初步检查,MSDTC可以正常启动。MSDTC按照网上写的默认设置。操作系统为WINDOWS 7 旗舰版。

解决方案 »

  1.   


    没有弄过,google 结果:        如果将本机添加为链接服务器,来执行分布式事务,就会报 
    服务器:   消息   7391,级别   16,状态   1,行   5 
    该操作未能执行,因为   OLE   DB   提供程序   'SQLOLEDB '   无法启动分布式事务。 
    [OLE/DB   provider   returned   message:   新事务不能登记到指定的事务处理器中。   ] 
    OLE   DB   错误跟踪[OLE/DB   Provider   'SQLOLEDB '   ITransactionJoin::JoinTransaction   returned   0x8004d00a]。 
    的错误 
            如果有其他机器肯定可以。http://topic.csdn.net/t/20040312/10/2835706.html
      

  2.   

    试试
    在连接串加入属性:Omit Oracle Connection Name=True
      

  3.   

    我觉得这个可能是 ,分布式事务处理的问题。因为如果我不添加事务时,ORACLE可以正常的插入和查询。还有个情况,在我刚装系统时,是好的。但最近当我再次尝试时,就报错了。这让我实在不能理解。