热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

外部程序调用跨数据库的语句时:该事务管理器已经禁止了它对远程/网络事务的支持

在一些工厂ERP之外的程序中,由于一些外部的资料导入,需按一定的规则推送到工厂的ERP数据库中。不同的服务器与数据库之前是通过链接服务器做为桥梁交互的。而链接服务器中,首先需设定RPC远程调用。

在一些工厂ERP之外的程序中,由于一些外部的资料导入,需按一定的规则推送到工厂的ERP数据库中。

不同的服务器与数据库之前是通过链接服务器做为桥梁交互的。而链接服务器中,首先需设定RPC远程调用。

设定好链接服务器后。脚本在数据库中也运行正常(脚本本身有跨服务器,数据库交互)。但如果在程序直接调用,同会产生如下错误:

由于没有可替代的方案去绕过这一问题。只能解决这一问题。

解决办法(仅供参考):

1.双方启动MSDTC服务 MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器 . 位置:控制面板--管理工具--服务--Distributed Transaction Coordinator 依存关系:Remote Procedure Call(RPC)和Security Accounts Manager

由于两台服务器,一台是2003,另一台是2008.现分别列出其配置方案。

解决办法:

(1)在windows控制面版-->管理工具-->服务-->Distributed Transaction Coordinator-->属性-->启动

(2)在CMD下运行"net start msdtc"开启服务后正常。

注:如果在第1步Distributed Transaction Coordinator 无法启动,则是因为丢失了日志文件,重新创建日志文件,再启动就行了。重新创建 MSDTC 日志,并重新启动服务的步骤如下: (1) 单击"开始",单击"运行",输入 cmd 后按"确定"。 (2) 输入:msdtc -resetlog (注意运行此命令时,不要执行挂起的事务) (3) 最后输入:net start msdtc 回车,搞定!

一台电脑做如下配置(windows2003系统):

2. 单击“添加/删除 Windows 组件”。

3. 选择“应用程序服务器”,然后单击“详细信息”。

4. 选择“启用网络 DTC 访问”,然后单击“确定”。

5. 单击“下一步”;单击“完成”。

6. 在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"。

7. 右键“我的电脑”->“属性”,在MSDTC选项卡中,点击“安全配置”按钮。

8. 在安全配置窗口中做如下设置:

(1)选中“网络DTC访问”

(2)在客户端管理中选中“允许远程客户端”“允许远程管理”

(3)在事务管理通讯中选“允许入站”“允许出站”“不要求进行验证”

(4)保证DTC登陆账户为:NT Authority\NetworkService 

(5)单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。   

所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。

9. 关闭网络防火墙(或者开放相应的端口135或用services.msc打开服务启动TCP/IP NetBIOS Helper服务)

 

另外一台电脑做如下配置(windows2008系统):

2. 单击“控制面板”。

3. 打开“程序和功能”。

4. 单击“打开或关闭windows功能”。

5. 展开“角色”->“应用程序服务器”->“组件服务”->右键“本地DTC”

6. 选择“本地DTC”的“安全选项卡”,做如下设置:

(1)选中“网络DTC访问”

(2)在客户端管理中选中“允许远程客户端”“允许远程管理”

(3)在事务管理通讯中选“允许入站”“允许出站”“不要求进行验证”

(4)保证DTC登陆账户为:NT Authority\NetworkService 

(5)单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。   

所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。

7. 关闭网络防火墙(或者开放相应的端口135或用services.msc打开服务启动TCP/IP NetBIOS Helper服务)

 


推荐阅读
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文介绍了一个基本的同步Socket程序,演示了如何实现客户端与服务器之间的简单消息传递。此外,文章还概述了Socket的基本工作流程,并计划在未来探讨同步与异步Socket的区别。 ... [详细]
  • 本文探讨了在SharePoint环境中使用BDC(Business Data Catalog)时遇到的问题及其解决策略,包括XML文件导入SSP后的不可见性问题以及与远程SQL Server 2005连接的难题。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文介绍了进程的基本概念及其在操作系统中的重要性,探讨了进程与程序的区别,以及如何通过多进程实现并发和并行。文章还详细讲解了Python中的multiprocessing模块,包括Process类的使用方法、进程间的同步与异步调用、阻塞与非阻塞操作,并通过实例演示了进程池的应用。 ... [详细]
  • 最新进展:作为最接近官方声明的信息源,本文吸引了大量关注。若需获取最新动态,请访问:lkhill.com/ccie-version-5-update ... [详细]
  • 本文详细介绍了如何使用Rufus工具制作一个兼容UEFI启动模式的Windows Server 2008 R2安装U盘,包括必要的软件和步骤。 ... [详细]
  • 初探Hadoop:第一章概览
    本文深入探讨了《Hadoop》第一章的内容,重点介绍了Hadoop的基本概念及其如何解决大数据处理中的关键挑战。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文介绍如何使用JavaScript中的for循环来创建一个九九乘法表,适合初学者学习循环结构的应用。 ... [详细]
author-avatar
安宁日月_860
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有