【发布时间】:2018-12-08 15:46:36
【问题描述】:
我的 MSSQL 触发器:
ALTER TRIGGER [dbo].[ioTrigger_dbo_vsolv_mst_tproddtchng]
ON [dbo].[vsolv_mst_tproddtchng]
for INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT OPENQUERY (LINKED,'SELECT proddtchng_product_gid,
proddtchng_mrp,
proddtchng_tndpwtax,
proddtchng_tndpwotax,
proddtchng_kldpwtax,
proddtchng_kldpwotax,
proddtchng_costprice,
proddtchng_website,
proddtchng_purpose,
proddtchng_weight,
proddtchng_suitable,
proddtchng_workingrange,
proddtchng_cutoff,
proddtchng_timedelay,
proddtchng_description,
proddtchng_validfrom,
proddtchng_validto,
proddtchng_createby,
proddtchng_createdate,
proddtchng_isactive,
proddtchng_isremoved
from vsolv_line_tn.vsolv_mst_tproddtchng')
SELECT
proddtchng_product_gid,
proddtchng_mrp,
proddtchng_tndpwtax,
proddtchng_tndpwotax,
proddtchng_kldpwtax,
proddtchng_kldpwotax,
proddtchng_costprice,
proddtchng_website,
proddtchng_purpose,
proddtchng_weight,
proddtchng_suitable,
proddtchng_workingrange,
proddtchng_cutoff,
proddtchng_timedelay,
proddtchng_description,
proddtchng_validfrom,
proddtchng_validto,
proddtchng_createby,
proddtchng_createdate,
proddtchng_isactive,
proddtchng_isremoved
FROM
inserted;
END
当我执行上述触发器时,我收到以下错误:
链接服务器“LINKED”的 OLE DB 提供程序“MSDASQL”返回消息“[MySQL][ODBC 5.3(a) 驱动程序]不支持可选功能”。 消息 7391,级别 16,状态 2,过程 ioTrigger_dbo_vsolv_mst_tproddtchng,第 8 行 无法执行该操作,因为链接服务器“LINKED”的 OLE DB 提供程序“MSDASQL”无法开始分布式事务。
我已经从 Sqlserver2008 创建了一个到 Mysql 的链接服务器,我已经配置了 DTC,它的状态是运行,自动,请帮助我应该如何克服上述错误。
【问题讨论】:
-
您是否尝试使用 SQL 服务器在 Mysql 实例上创建触发器?
-
是的,我正在使用..
-
您能否详细说明您正在使用的 SQL 版本以及 Mysql,我假设您在托管 MSSQL 的 VM ware 中缺少 ODBC 驱动程序,或者它可能不是最新的。您是否可以使用
openquery执行选择查询 -
sql server 2008,mysql 5.7 版,我可以使用 openquery 执行选择查询
-
@Thomas 我敢打赌语法没有错。它与链接服务器的连接问题
标签: mysql sql sql-server