mysql - 错误: OLE DB provider "MSDASQL' ' for Linked Server '' bequick'' was unable to begin a Distributed transaction

标签 mysql sql database odbc linked-server

我已经浏览了类似问题的答案: The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "DB_PROD_04" was unable to begin a distributed transaction

Distributed Transaction on Linked Server between sql server and mysql

但是,它们似乎对我不起作用,因此我要求提供新帖子的解决方案。

背景:我有完全由供应商管理的 MySQL 服务器,我只有读取权限。另一方面,我在我们的域中的 Windows Server 2012 R2 上运行 SQL Server 2014 实例(调用者)。以前的 DBA 设置了名为“BEQUICK”的链接服务器来调用存储过程: 执行usp_ExtractBqDataAndPreprocess 13

此存储过程从 MySQL 实例中获取聚合数据并将其保存到我们的磁盘中。在此存储过程中运行 3 个存储过程。 执行BEQUICK_CUBE_Customers_post_pull 执行BEQUICK_CUBE_Customers_Update 执行BEQUICK_CUBE_Inventory_Update

问题:今天,当我尝试运行它时,它向我显示一条错误,指出无法执行该操作,因为链接服务器“bequick”的 OLE DB 提供程序“MSDASQL”无法开始分布式事务。

采取的操作: 第 1 步:访问链接服务器属性 > 服务器选项,将其更改为:enter image description here

第 2 步:访问本地 DTC 属性,并不断尝试所有组合以使其正常工作。最后,将其保留为:

enter image description here

第三步:我进入 Windows 防火墙并确保: enter image description here

这些都无法解决我的问题,现在我不知道接下来会发生什么,因此我们将非常感谢任何帮助。如果我没有提供任何我应该拥有的内在信息,请告诉我。

最佳答案

虽然我没有在这里收到解决方案,但我最终发现是我的驱动程序属性出了问题。发布这个答案,以便如果其他人遇到同样的麻烦,即使他们也可以检查这个替代方案。谢谢!

关于mysql - 错误: OLE DB provider "MSDASQL' ' for Linked Server '' bequick'' was unable to begin a Distributed transaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43553603/

相关文章:

mysql - 仅当该表中所有其他行的值为 0 时才插入 mysql 行

php - 在 mySQL 或 PHP 数组中对结果进行排序?

mysql - 列出 MySQL 分类中每个元素的所有属性

MySQL 连接两个表的帮助

mysql - 如何创建 "following"表?

mysql - mySql 与 Ms-Sql 和 Oracle 在连接具有排序结果集的表时的不同行为

mysql - ExtractValue 在 mysql 中处理和解析 XML 非常慢

mysql - 从存储过程处理程序中访问错误堆栈

sql - 如何编写配置单元 ql 查询以合并 2 个表中的列?

mysql - 数据库查询失败示例;你能帮我解决问题吗?