解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案

打魚晒网

打魚晒网

2016-01-29 16:26

解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案,解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案
 

在开发分布式数据库软件时,经常碰到下面的错误:
服务器: 消息 7391,级别 16,状态 1,行 6
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分
布式事务。
[OLE/DB provider returned message: 不能在指定的事务处理器中
获得新事务。]
-----------------------------------------
服务器: 消息 8520,级别 20,状态 1,行 8
内部 MSDTC 事务的提交失败: Result Code = 0x8004d019。

连接中断
-----------------------------------------
搜索了网上类似问题的解决方案,都建议采用下面的方法(方法一):
1、运行 regedt32,浏览至 HKEY_LOCAL_MACHINE oftwareMicrosoftMSDTC。
添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。
2、重启MS DTC服务。
3、打开“管理工具”的“组件服务”。
    a. 浏览至"启动管理工具"。    b. 选择"组件服务"。    c. 展开"组件服务"树,然后展开"我的电脑"。    d. 右键单击"我的电脑",然后选择"属性"。     在 MSDTC 选项卡中,确保选中了下列选项:
网络 DTC 访问 网络管理 网络事务XA 事务
另外,"DTC 登录帐户"一定要设置为"NT AuthorityNetworkService"。4、重启MS DTC服务。
5、再次运行 regedt32,浏览至 HKEY_LOCAL_MACHINE oftwareMicrosoftMSDTC,然后删除 TurnOffRpcSecurity 项。

但是实际上该方法基本上解决不了问题,经过长时间的反复实践,我终于按下面的方法解决了:
(方法二)
1、按照方法一的方法处理一遍,如果不行,再继续下面的方法
2、安装windows 2003 sp1,安装好后,方法一中的第4步设置对话框和原来不一样了,选择“事务管理通讯”中的“不要求验证”
3、最好安装好MDAC2.8
3、通过查找,在C:找到名为“hosts”的文件(没有扩展名),通常路径为C:WINDOWSsystem32driversetc,将对方服务器的IP和计算机对应起来,参考如下:
========================================
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# www.knowsky.com
# 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
#       38.25.63.10     x.acme.com              # x client host

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

127.0.0.1 localhost
192.168.1.2 中心
192.168.1.3 西站
192.168.106.35 信息中心2
=============================================
一定要将每台服务器的hosts文件都修改好
通过以上办法,我的分布式就可以正常运行了,速度也非常快

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/) 
展开更多 50%)
分享

猜你喜欢

解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案

SQLServer
解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案

windows server 2003 中 SQL Server 2000 分布式事务 错误解决方

编程语言 网络编程
windows server 2003 中 SQL Server 2000 分布式事务 错误解决方

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

分布式查询和分布式事务

SQLServer
分布式查询和分布式事务

Dreamweaver 8 无法启动的解决方案

Web开发
Dreamweaver 8 无法启动的解决方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQLServer分布式事务问题

编程语言 网络编程
SQLServer分布式事务问题

Sql server 2000 jdbc 查询分页解决方案

编程语言 网络编程
Sql server 2000 jdbc 查询分页解决方案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Windows XP下安装SQL2000企业版

Windows XP下安装SQL2000企业版

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介
下拉加载更多内容 ↓