最近在作一个项目的时候使用了.NET
中的System.Transactions
(分布式事务),当项目开发完成之后,调用的时候遇到了MSDTC
的问题,在查阅了相关资料后将这个问题解决了,大体的问题主要是使用了分布式事务,而没法访问到数据库的问题,网上不少解决方法,都是启动一下服务,而后再修改服务组件的选项,可是当Web服务器与数据库不在同一台机器上的时候,仍是会报错。
错误以下:
数据库
MSDTC
(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。
该服务的进程名为Msdtc.exe
,该进程调用系统Microsoft Personal Web Server
和Microsoft SQL Server
。
该服务用于管理多个服务器。服务器
在服务中启动Distributed Transaction Coordinator
服务
网络
修改组件服务里的选项
点击打开开始
—>管理工具
—>组件服务
依次展开组件服务
—>计算机
—>个人电脑
—>Distributed Transaction Coordinator
,右击本地DTC
,选择属性
,按下图进行设置,设置完成后点击肯定。分布式
这个时候本地已经能够正常使用了,可是Web服务器与数据库服务器不在同一台机器上的时候,仍是会报错,这个时候须要在数据库服务器上打开一个端口和一个应用程序。工具
135
C:\Windows\System32\msdtc.exe
net start msdtc
net stop msdtc
msdtc -uninstall
mstdc -install