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进行快速事务 和这里:
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 详解java调用ffmpeg转换视频格式为flv
- sql-server – 规范化SQL Server中的unicode字符串?
- 数据库 – 我从哪里开始:我的物理应用服务器迁移到虚拟机?
- sqlserver 存储过程中的top+变量使用分析(downmoon)
- Redis列表类型的常用命令小结
- 在大多数SQL实现中,与标准编程语言相反,为什么x!= null不返
- SqlServer 2005/2008数据库被标记为“可疑”的解决办法
- sql-server-2008 – 查看SQL Server代理历史记录非常慢
- SQL Server INSERT INTO SELECT语句与SELECT INTO FROM语句
- sql – Nullable vs. non-null varchar数据类型 – 查询速度
