将应用程序和数据库分离到不同的服务器之后的MSDTC错误

时间:2016-11-01 07:57:38

标签: c# sql rpc msdtc

我有一个dot net应用程序,它最初与它的数据库托管在同一个框中,将两个框分开到不同的框后我一直在用MSDTC获取错误

这是错误日志

与基础事务管理器的通信失败。在System.Transactions.Transaction.Transactions.Transaction.Transaction.Transaction.Transaction.Transaction.Transaction.Transaction.Transaction上的System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)处的System.Transactions.Transaction.Transaction.Transaction.Transaction.Transaction。在System.Transactions.Transaction.Transaction.Transaction()处的System.Transactions.Transaction.TransactionInterop.ConvertToOletxTransaction(事务处理事务)中的System.Transactions.Transaction.Traromaction()处于System.Data.SqlClient.SqlInternalConnection.EnlistNonNull的System.Transactions.TransactionInterop.GetExportCookie(事务处理,字节[]所在位置)事务处理系统上System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser用户)的System.Data.SqlClient.SqlConnection.EnlistTransaction(事务处理事务)中的System.Data.SqlClient.SqlInternalConnection.EnlistTransaction(事务处理事务)处的事务tx)。 Data.Linq.SqlClient.SqlProvider.get_IsSqlCe() System.Data.Linq.DataQuery {{在System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)的System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()处于System.Data.Linq.DataQuery {{ 1}} 1来源)

两台计算机上的MSDTC设置 enter image description here

我还在两个防火墙中打开了端口135和端口5000到50020。

有人帮我解决问题可能是什么问题。

1 个答案:

答案 0 :(得分:0)

    This solved my issue 

我在两个服务器上编辑了下面的文件,将他们的IPS和分配的名称添加到我能够使用指定的名称相互ping两台机器的机器,然后将confing文件数据源更改为名称而不是使用ips < / p>

这是我编辑的确切行 xxx.16.100.1 JpAppServer#x客户端主机

    C:\Windows\System32\Drivers\etc

    # Copyright (c) 1993-2009 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
           xxx.16.100.1     JpAppServer              # x client host

    # localhost name resolution is handled within DNS itself.
    #   127.0.0.1       localhost
    #   ::1             localhost