【问题标题】:Insert with openquery to MySql table error: "Cannot start more transactions"使用 openquery 插入 MySql 表错误:“无法启动更多事务”
【发布时间】:2014-07-09 12:31:45
【问题描述】:

我正在使用链接服务器将我的 SQL Server 2005 连接到 MySql 服务器。 selectupdatedelete 到 MySql 表没有问题(我在 Microsoft SQL Server Management Studio Express 中编写查询)。但是,为什么我不能插入到我的 Mysql 表中?

我尝试了多种插入方式:

insert into to_kporder...barang values (900, 'testt', 2);
insert into to_kporder...barang (id_barang, stock_code, id_company) values (900, 'testt', 2);
insert openquery (to_kporder, 'select id_barang, stock_code, id_company from barang') values (900, 'testt', 2);
insert into openquery (to_kporder, 'select id_barang, stock_code, id_company from barang') values (900, 'testt', 2);

to_kporder 是我的链接服务器。

barang 是我在 mysql 服务器上的表。

barang(id_barang, stock_code, id_company)

我所有的代码都返回消息:

链接服务器“to_kporder”的 OLE DB 提供程序“MSDASQL”返回消息“无法在此会话上启动更多事务。”
消息 7395,第 16 级,状态 2,第 1 行
无法为链接服务器“to_kporder”启动 OLE DB 提供程序“MSDASQL”的嵌套事务。由于 XACT_ABORT 选项设置为 OFF,因此需要嵌套事务。

【问题讨论】:

    标签: mysql sql sql-server-2005 linked-server


    【解决方案1】:

    我也有这个错误。尝试了各种方法,包括重新启动 SQL 服务和代理均无济于事。

    但是,将游标/结果详细信息部分“强制使用 forward_only 游标”中的 ODBC 设置更改为关闭。

    解决了问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多