惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
D
Docker
博客园 - 三生石上(FineUI控件)
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
月光博客
月光博客
S
SegmentFault 最新的问题
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI

博客园 - 飞吧,我们一起飞吧

SERVER 2012提示:远程服务器无法连接 SAP B1 价格清单编号与物料价格清单编号间的变化 SAP B1 创建或修改单据时,总是显示:已自动答复先前的问题‘否’,无法保存单据。 SAP B1 客户端登录时,出现:连接系统架构目录(SLD)失败 的解决方案 SAP B1 一输入字符就卡死的解决方法 SAP B1 增加或删除单据,或者是新增修改BOM清单,报错‘出现内部错误时’,一般是控制过程 SBO_SP_TransactionNotification 里面的代码有问题,执行不下去了,因此一行行检查SQL代码,一般就能发现错误所在。 SAP B1如何找回被误删的许可证号 最想告诉儿女的三件事 SAP B1存在的BUG SQL语句截取单个汉字的方法及字符串替换语句 SAP B1外发加工件成本的处理方法(曹玉平于奥莱照明) SAP B1在添加物料主数据时,出现错误提示‘xxxx代码已存在’的解决方法 RAVE Report报表实现分组统计 交叉表的实殃及向SQL SERVER数据库中插入数据时,出现乱码或???(问号)的解决方法。 SAP B1外协物料处理方法 帮上小学的女儿写的一篇文章--春夏秋冬 老年人注意的营养 惨痛的代价 想家
报错:因为链接服务器 “192.168.1.XXX” 的 OLE DB 访问接口 “...
飞吧,我们一起飞吧 · 2025-07-18 · via 博客园 - 飞吧,我们一起飞吧

问题背景:
有两台服务器A,B,分别装上SQL SERVER 2014数据库,现在需要当A服务器上数据库a表有一条数据插入后,通过表中触发器,将数据经处理后同步到B服务器数据库b表中。
报如下错误:
链接服务器"****"的 OLE DB 访问接口 “SQLNCLI10” 返回了消息 “没有活动事务。”。
无法执行该操作,因为链接服务器 “*****r” 的 OLE DB 访问接口 “SQLNCLI10” 无法启动分布式事务。

服务器 *********上的 MSDTC 不可用。
解决方法:第一种两台服务器均关闭防火墙,第二种两台服务器开启防火墙。


第一种:两台服务器关闭防火墙,具体进行如下操作:
(注:两台服务器均做相同配置)
1、双方开启MSDTC服务
(1)net stop msdtc
(2)net start msdtc
如果无法启动再运行如下命令:
(1)msdtc -resetlog
(2)net start msdtc
2、MSDTC设置
(1)在windows控制面版–>管理工具–>组件服务–>Distributed Transaction Coordinator–>本地DTC–>属性–>确定(启动)


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

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

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


3、创建数据库链接
创建数据库链接有两种方法可自行百度,此处不做详细介绍

总结:通过以上步骤,基本上在关闭防火墙的情况下是可以实现的。

第二种:两台服务器开启防火墙,具体进行如下操作:
(注:两台服务器均做相同配置,我当时就卡这了 TAT,下面我把能加的都配置上了,可能有些会多余,因为具体细节有些也不太明白,但是最后结果是好的)
1、前三个基本步骤同上
2、打开双方135端口
MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。

使用“telnet IP 135 ”命令测试对方端口是否对外开放。如果出现白色光标闪烁证明未阻断,如果报错则需要开启。(一般默认都是开启的)
3、指定端口范围(为了防止耗尽DCOM端口,导致报错“终结点映射器中没有其他终结点”)
在windows控制面版–>管理工具–>组件服务–>计算机–>我的电脑
找到后右击属性,出现如下图所示:

选中默认协议后,单击属性后如下所示

然后进行分配(例如5000-51000,视具体情况而定,一般范围小于30会报错,所以我干脆一次性先整大点)

4、打开防火墙,高级设置
添加入站和出站规则,一些关键信息两边尽量同步,比如数据库端口号,刚定义的DCOM端口范围(5000-51000)等。其他的一些入站出站规则需要的话直接开启即可。

5、远程服务器上名称解析
分布式事务的参与服务器是需要相互访问的,发起查询的服务器要根据机器名或ip查找远程服务器的,同样远程服务器也要查找发起服务器,

远程服务器通过发起服务器的机器名查找服务器,所以要保证远程服务器能够通过发起服务器的机器名访问到发起服务器。
一般的,两个服务器在同一网段机器名能就行很好的解析,但是也不保证都能很好的解析,所以比较保险的做法是:
在远程服务器的在“C:\WINDOWS\system32\drivers\etc\hosts”文件中增加一条记录:
xxx.xxx.xxx.xxx 服务器名

总结:开启防火墙后需要配置的比较多,总之最后模拟插入一条数据后,成功了。
————————————————
版权声明:本文为CSDN博主「Marcus丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37559253/article/details/116273061