欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

The operation could not be performed because the OLE DB provider 'SQLOLEDB' was

程序员文章站 2024-02-06 12:33:22
今天遇到一起关于分布式事务错误的案例,如下所示,执行SQL脚本时报错, 错误信息具体如下所示: [OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ] OLE DB error trace [OLE/DB Provider 'SQLOLEDB'... ......

今天遇到一起关于分布式事务错误的案例,如下所示,执行SQL脚本时报错, 错误信息具体如下所示:

 

[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]

OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].

Msg 7391, Level 16, State 1, Procedure UpdatePermissionSystem, Line 18

The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.

 

  检查了数据库选项以及DTC配置,最后发现是事务管理器通信的选项没有选择不要求进行验证(No Authentication Required),而是勾选了要求相互进行身份验证(Mutual Authentication Required)导致. 选择了不要求进行验证 后,重启DTC服务,即可解决这个错误。

 

 

The operation could not be performed because the OLE DB provider 'SQLOLEDB' was