如何解决在Win2003的Oracle链接服务器上MSDTC事务失败问题

12/27/2010

5 分钟可看完

本文内容

在企业环境中,客户有时需要设置MSDTC事务来与远程Oracle目标服务器协同工作。由于跨产品的设置十分复杂,有时我们在更新一个已链接的Oracle数据库中的数据时可能会面临事务失败,例如:

服务器:消息 7391 ,级别16 ,状态1 ,行1

该操作无法执行,因为OLE DB Provider 'MSDAORA' 无法启动分布式事务。

OLE DB错误跟踪 [OLE / DB Provider 'MSDAORA' ITransactionJoin ::JoinTransaction返回0x8000d048] 。

下面是帮助我们缩小和解决类似的问题的一般的步骤(开始操作之前,先尝试使用SQL的普通的select语句查询Oracle,确保服务器名称解析和它们之间的网络正常):

1。在Windows Server 2003中,选择"添加/删除程序程序"控制台,Windows组件中的"启用网络DTC访问"必须启用。可以在Windows组件\应用程序服务器\启用网络DTC访问下启用它。请参考:

817064如何在Windows Server 2003启用网络DTC访问

2。打开DCOMCNFG,确保MSDTC选项卡下的安全配置的设置是正确的:

3。打开注册表,在Security键中,确保注册表值和UI设置相匹配:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security

4。 注册表中Oracle模块的配置是正确的:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI

OracleXaLib=oraclient9.dll

OracleSqlLib=orasql9.dll

OracleOciLib=oci.dll

尽管在这里我们使用Oracle 9i客户端作为举例,我们应该知道,在Microsoft数据访问组件(MDAC)2.5版本之后,微软的ODBC驱动和OLE DB Provider都只支持Oracle7和Oracle 8i:http://support.microsoft.com/Default.aspx?id=244661

对于其他版本的Oracle客户端(7 / 8)注册表键值设置,请参考:

193893 有关Oracle与Microsoft Transaction Server和COM +组件协同使用的信息

5。从SQL服务器管理控制台中找到已连接的Oracle服务器名称。如果你不清楚如何找到Oracle服务器名称,请与当地的Oracle管理团队联系。

6。创建一个指向您的Oracle数据库的ODBC数据源名称(DSN)。请确保您的DSN使用的是Microsoft Oracle ODBC驱动程序。

a. 从管理工具中打开数据源对话框:

b. 单击用户 DSN选项卡上的添加按钮,选择Microsoft ODBC for Oracle,然后完成向导:

运行此命令,我们应该得到正确的结果,这说明纯Oracle事务工作正常:

Msdtcora.exe -U -P -S

该Msdtcora.exe可以从如下地址得到:

这个工具将跳过MSDTC并直接使用Oracle事务。如果Oracle测试程序可以连接到Oracle数据库服务器且不报错,很可能COM + / MTS也可以与Oracle正常工作。如果这一步失败,您应该联系Oracle支持团队以获取更多信息。

7。确保网络服务帐户(这是在Win2003中为MSDTC建立的新帐户)已被添加在c:\program files\oracle和c:\oracle(如果您设置了不同的Oracle根文件夹,需要做同样的工作),强制所有子对象继承父文件夹相同的设置。否则,MSDTC服务可能无法跟Oracle库进行交流。

如果Oracle事务仍然失败,即使在第6步中Msdtcora返回成功的信息,我们应该检查一下纯MSDTC服务是否工作正常。

你可以对其他已连接的SQL服务器发起MSDTC分布式事务处理(SQL服务器的链接也应该遵循的步骤1,2,3)来查看事务的进展。如果发生任何困难,联系 MSDTC的支持小组以获得进一步的故障排除思路。

更多信息

==============

280106如何在 SQL 服务器中设置到 Oracle 的链接服务器并进行故障排除

微软Internet开发者支持小组

msdtc与oracle,如何解决在Win2003的Oracle链接服务器上MSDTC事务失败问题相关推荐

  1. 【Android错误解决方案】解决AndroidStudio在oppo和vivo手机上安装apk失败----终极解决方案

    文章目录 [Android错误解决方案]解决AndroidStudio在oppo和vivo手机上安装apk失败---终极解决方案 问题描述 错误描述 解决方案一 解决方案二 总结 [Android错误 ...

  2. 虚拟机Oracle错误,解决xp虚拟机下oracle的几个错误

    1.当虚拟机装好,然后在虚拟机里装上oracle,当下次重启后,遇到oracle报ora-12514错误,网上有很多解决方法,这个地方就写个解决方法: 打开:%Oracle_Hoem%/network ...

  3. 解决服务器上MSDTC不可用的办法

    解决服务器×××上的MSDTC不可用办法 摘自:http://www.cnblogs.com/markhe/archive/2009/04/30/1447223.html MSDTC(分布式交易协调器 ...

  4. oracle安装卡在create inventory_滴滴云服务器上安装Oracle12cR2单实例数据库

    一.相关说明 Oracle数据库是由美国甲骨文公司推出的一款优秀的关系型数据库.当前最新版为Database 19c.本文简述Oracle Database 12cR2在滴滴云主机上的安装过程.如需更 ...

  5. 解决 VUE: 本地运行和服务器上运行样式不一致,run、build 运行时样式有出入

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 我的情况: 我遇到 2 种情况,一个是表格的分页样式有变化.另一个是导航菜单样式有变化. 2. ...

  6. 连接阿里云服务器上MySQL数据库失败的解决办法

    一 数据库配置,MySQL默认是不能远程连接 只需要在/etc/mysql下的my.cnf文件里注释掉bind-address = 127.0.0.1 就可以了,如图: 二 安全组设置 阿里云服务器默 ...

  7. 【已解决】Navicat 远程连接 Linux服务器上的MySQL数据库

    授权法: 在安装mysql的机器上运行: 1.# ./bin/mysql -uroot -p //这样应该可以进入MySQL服务器 2.mysql> GRANT ALL PRIVILEGES O ...

  8. oracle登录时无效的参数,oracle – 使用bash变量时出现Sqlplus登录错误:SP2-0306:无效选项...

    我有一个连接到oracle 10g数据库的bash脚本. 在第一步中,它使用以下命令从"config"文件中获取一些变量 . /path/to/my/configfile.ini ...

  9. 编写简单的连接MongoDB数据库C++程序 解决编译C++程序时链接MongoDB动态库失败的问题...

    一. 安装好mongo数据库以后,创建一个用来链接数据库的简单C++程序mon2.cpp,发现很多网站都用这个程序做示例. 不过重点在于如何让这个程序真正可以跑起来显示出来结果,着实费了一番功夫. 1 ...

  10. 解决项目部署到阿里云服务器邮件发送失败的方法

    阿里云服务器禁用了25端口,所以改为465端口采用SSL协议传输邮件 163网易免费邮箱相关服务器信息: 相关代码: package com.yc.util;import java.io.File; ...

最新文章

  1. [bbk4966]第70集 第8章 -性能维护 01
  2. 初探可编程网关 Pipy
  3. 面试(之)三赴上海易传媒—揭秘之旅
  4. 绝地求生自定义服务器租一天多少钱,绝地求生自定义服务器怎么样?绝地求生自定义服务器使用攻略...
  5. 下面哪项属于计算机在教育教学中的应用,东师现代教育技术18秋在线作业2答案...
  6. python多进程和多线程一起使用_Python3多进程与多线程区别及使用(2.线程)
  7. cad怎么绘制大样图_浩辰CAD看图王电脑版中怎么绘制圆弧?
  8. python的合法名称_python 命名规范
  9. one大白陪你聊聊2021年总结
  10. matlab的libsvm工具箱(faruto版本)配置问题汇总,用于VS2015+R2017a
  11. SqlServer数据库的语句及一些操作整理
  12. Axure原型图 时间跳动 计时动画效果
  13. SpaceVim - 让你的vim变得更加高效和强大
  14. CentOS系统磁盘的分区格式化和挂载操作
  15. unity3D数据的本地存储(xml的方式)
  16. 企业证书更新与说明/羊毛口子:美团实体跑腿拍照撸1~20元
  17. 图片转excel怎么弄?简单实用的方法
  18. 正则表达式爬取红牛分公司数据
  19. 团队作业第六次——团队Github实战训练
  20. [译] 基于 Python 的图论和网络分析

热门文章

  1. pb模型文件与.pbtxt配置不匹配导致OpenCV调用dnn模块出错(Mask R-CNN为例)
  2. 用国产编程语言CBrother做微信公众号后台开发太简单
  3. Java、JSP小区车辆停车管理系统
  4. office2007每次打开都配置进度_office2007 每次打开word,excel等显示正在配置Office Professional Plus 2007的解决方...
  5. 多目标跟踪的评价指标
  6. UCF101动作识别数据集简介绍及数据预处理
  7. java pdf合并_利用iText 合并PDF与分解PDF的例子
  8. Textview属性Kotlin.Android
  9. 计算机相关专业的学生如何规划自己的职业?
  10. 【UE4】特效之 Particle System 详解(二)—— 特效池