Dea*_*naD 7 mysql sql-server msdtc
我在Win 10 PC上运行了从SqlServer 2014到MySQL 5.7.3的LinkedServer.select和insert查询都可以通过openquery单独工作,但insert查询不会在触发器中起作用.除非您找到下面未列出的"治疗方法",否则请不要将其标记为副本!
用于链接服务器"MYSQL"的OLE DB提供程序"MSDASQL"返回消息"[MySQL] [ODBC 5.3(w)驱动程序]不支持可选功能".
*消息7391,级别16,状态2,过程TRG_AfterEventInsert,第14行
无法执行该操作,因为链接服务器"MYSQL"的OLE DB提供程序"MSDASQL"无法启动分布式事务.
有很多帖子,但我已经做了我能找到的一切,但仍然无法奏效.我找到了一个名为dtcping的MS实用程序,它首先失败,直到我翻转了注册表设置,但现在它成功了.
在DTC属性屏幕上,我启用了网络DTC管理,允许远程,允许输入/出站而无需身份验证和启用XA事务.在我的链接服务器上,我有rpc&rpc out = true和"启用DT的促销"错误.我将msdtc应用程序添加到防火墙排除项中.
我也尝试为我的LinkedServer禁用DTC,但这不起作用.我仍然得到错误.
有人可以建议调试措施吗?我花了将近一整天没有成功.MySQL驱动程序是5.3(32位).
更新:dtcPing运行没有错误,但是当我尝试触发器插入时,我在dtctrace.log中看到以下内容
TRANSACTION_BEGUN RM_ENLISTED_IN_TRANSACTION"资源管理器#1001作为交易登记#1登记.RM guid ='57c2b4b4-f37a-4017-a1fc-2d95bd64693d'"
RECEIVED_ABORT_REQUEST_FROM_BEGINNER"收到了从初学者中止交易的请求"
TRANSACTION_ABORTING"交易正在中止"
你的意思是 MySQL 5.3 吗?当前手册显示版本低至5.7,并指出分布式事务仅支持InnoDB存储引擎14.3.7 XA Transactions。
如果您已经检查了有关 MySQL 部分的所有内容,您是否检查过 SQL Server 端的不同类型的触发器?您是否使用了不受支持的数据类型?