mysql和SQL之间连接服务器_sql server和mysql之间链接服务器上的分布式事务

我有一个表在SQL Server 2014和

MySQL上表示Table1.

Table1

ID INT,Code VARCHAR(100)

我使用“Microsoft OLEDB Provider for ODBC”在SQL Server中创建了一个链接服务器MyLinkedServer.

**链接服务器**

EXEC master.dbo.sp_addlinkedserver @server = N'MyLinkedServer', @srvproduct=N'MyLinkedServer', @provider=N'MSDASQL', @datasrc=N'MyLinkedServer'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'MyLinkedServer',@useself=N'False',@locallogin=NULL,@rmtuser=N'username',@rmtpassword='########'

链接服务器设置

EXEC master.dbo.sp_serveroption @server=N'MyLinkedServer', @optname=N'data access', @optvalue=N'true'

EXEC master.dbo.sp_serveroption @server=N'MyLinkedServer', @optname=N'use remote collation', @optvalue=N'true'

EXEC master.dbo.sp_serveroption @server=N'MyLinkedServer', @optname=N'remote proc transaction promotion', @optvalue=N'true'

链接服务器已成功创建,我可以在SQL Server中查询Mysql表.

询问

当我跑

INSERT INTO MyLinkedServer...Table1(ID,Code) SELECT 1,'Code1'

记录已插入.但是,当我启动一个事务并运行INSERT时,我收到一个错误:

BEGIN TRAN

INSERT INTO MyLinkedServer...Table1(ID,Code) SELECT 1,'Code1'

COMMIT

错误:

OLE DB provider “MSDASQL” for linked server “MyLinkedServer” returned message “[MySQL][ODBC 5.3(a) Driver]Optional feature not supported”.

Msg 7391, Level 16, State 2, Line 8

The operation could not be performed because OLE DB provider “MSDASQL” for linked server “MyLinkedServer” was unable to begin a distributed transaction.

到目前为止我尝试了什么.

>在MSDTC中启用XA事务

>在链接服务器提供程序中启用以下设置

>嵌套查询

>仅限零级

>允许进程

>支持’喜欢’操作符

我检查了以下链接及其建议,但错误仍然存​​在:

编辑

额外细节:

> MySQL正在Ubuntu机器上使用InnoDB存储引擎.

>我已经配置了ODBC connector并使用它来配置链接服务器中使用的ODBC系统数据源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值