首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSSQL2000与MySQL之间的分布式事务停止工作

MSSQL2000与MySQL之间的分布式事务停止工作
EN

Stack Overflow用户
提问于 2011-07-11 17:09:55
回答 2查看 2.4K关注 0票数 0

我们已经成功地将数据从MySQL从数据库复制到MSSQL数据库中。MySQL服务器是链接服务器。我尝试使用我的MySQL提供的ODBC连接器的v3.51和v5.1.8。

简单地尝试使用OPENQUERY从MySQL中的表插入到MSSQL中的临时表中会导致以下错误:

代码语言:javascript
复制
Server: Msg 7391, Level 16, State 1, Line 1
The operation could not be performed because the OLE DB provider 'MSDASQL' was unable to begin a distributed transaction.
[OLE/DB provider returned message: [MySQL][ODBC 3.51 Driver]Optional feature not supported]
OLE DB error trace [OLE/DB Provider 'MSDASQL ' ITransactionJoin::JoinTransaction returned 0x8004d00a].

当MySQL主服务器和从服务器之间的复制失败时,就会出现此错误。这个问题已经修复,但上面的错误仍然存在。

MSSQL Server运行在Windows2003 R2 Server上,MySQL服务器运行在CentOS 5服务器上,这两个服务器位于不同的数据中心,并通过OpenVPN相互通信。

在MySQL方面还需要做些什么吗?对MSSQL方面有什么建议吗?我已经尝试重新启动DTC以及重新启动服务器。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-12 15:58:50

最终解决了这个问题。请参阅此堆栈溢出文章中的帖子:SQL Server 2000 - Linked Server

票数 0
EN

Stack Overflow用户

发布于 2012-05-31 04:21:02

如果使用显式命令"EXECUTE",请确保链接服务器没有打开任何事务。例如:

代码语言:javascript
复制
BEGIN TRANSACTION
  SP_CALL_LINKED_SERVER
...

在SP_CALL_LINKED_SERVER中,您不能调用任何事务(例如:...EXECUTE (LINKED_SERVER)...)如果之前的事务仍在进行中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6647951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档