linq-to-sql – 针对Sql Server 2000的TransactionScope错误 –
| 我正在尝试针对我的Sql 2000数据库为我的Linq-to-Sql操作设置一个简单的事务.使用TransactionScope它看起来像这样: using (TransactionScope transaction = new TransactionScope())
{
    try
        {
        Store.DBDataContext dc = new Store.DBDataContext();
        Store.Product product = GetProduct("foo");
        dc.InsertOnSubmit(product);
        dc.SubmitChanges();
        transaction.Complete();
    }
    catch (Exception ex)
    {                
        throw ex;
    }
}但是,我不断收到以下错误: 合作伙伴事务管理器已禁用其对远程/网络事务的支持. (HRESULT异常:0x8004D025) 但是,如果我使用传统交易设置交易,它可以正常工作.所以这很好用: Store.DBDataContext dc = new Store.DBDataContext();
try
{
    dc.Connection.Open();
    dc.Transaction = dc.Connection.BeginTransaction();
    Store.Product product = GetProduct("foo");
    dc.InsertOnSubmit(product);
    dc.SubmitChanges(); 
    dc.Transaction.Commit();
}
catch (Exception ex)
{
    dc.Transaction.Rollback();
    throw ex;
}
finally
{
    dc.Connection.Close();      
    dc.Transaction = null;
}我想知道TransactionScope是否正在做一些与我的第二次实现不同的事情.如果没有,我没有使用TransactionScope失去了什么?此外,任何导致错误的指导都会很好.我已经确认MSDTC在sql server和我的客户端机器上运行. 解决方法看看这里:使用System.Transactions和Microsoft SQL Server 2000进行快速事务 和这里: 
 (编辑:鹰潭站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 

