Questions tagged «msdtc»

7
TransactionScope是否在某些计算机上自动升级为MSDTC?
在我们的项目中,我们使用TransactionScope来确保我们的数据访问层在事务中执行其动作。我们的目标是不要求在最终用户的计算机上启用MSDTC服务。 麻烦的是,在我们一半的开发人员机器上,我们可以在禁用MSDTC的情况下运行。另一半必须启用它,否则他们会收到“ [SERVER]上的MSDTC不可用”错误消息。 这真的让我抓狂了,还让我认真考虑回滚到基于ADO.NET事务对象的类似HomeScope的TransactionScope解决方案。这似乎是疯狂的-在我们一半的开发人员的代码上起作用(并且不会升级)的相同代码确实会在其他开发人员的代码上升级。 我希望对Trace有了一个更好的答案,为什么交易会升级为DTC,但不幸的是却没有。 这是会引起问题的示例代码,在尝试升级的机器上,它尝试在第二个连接上升级.Open()(是的,当时没有其他连接打开)。 using (TransactionScope transactionScope = new TransactionScope() { using (SqlConnection connection = new SqlConnection(_ConStr)) { using (SqlCommand command = connection.CreateCommand()) { // prep the command connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { // use the reader connection.Close(); } } } // Do other stuff here …

6
如何在SQL Server上启用MSDTC?
这甚至是一个有效的问题吗?我有一个使用MSTDC的.NET Windows应用程序,并且抛出异常: System.Transactions.TransactionManagerCommunicationException:分布式事务管理器(MSDTC)的网络访问已被禁用。请使用组件服务管理工具---> System.Runtime.InteropServices.COMException(0x8004D024),在MSDTC的安全配置中为网络访问启用DTC:事务管理器已禁用对远程/网络事务的支持。(来自HRESULT的异常:0x8004D024)位于System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize,Byte [] propgationToken,IntPtrmanagedIdentifier,Guid&transactionIdentifier,OletxTransactionIsolationLevel&isolationLevel,ITransactionShim&transactionShim)。 我按照Kbalertz指南在安装了该应用程序的PC上启用了MSDTC,但是仍然会发生错误。 我想知道这是否是数据库问题?如果是这样,我该如何解决?
106 sql-server  msdtc 

9
无法开始分布式交易
我正在尝试对链接的服务器运行SQL,但是出现以下错误: BEGIN DISTRIBUTED TRANSACTION SELECT TOP 1 * FROM Sessions OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.". Msg 7391, Level 16, State 2, Line 3 The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" was unable to …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.