如何使用链接服务器从 MS SQL -> MYSQL 执行“插入”语句

如何使用链接服务器从 MS SQL -> MYSQL 执行“插入”语句

是否可以通过链接服务器执行“插入”语句。我知道使用 MSDTC 是可行的……但这在 MS SQL 和 MYSQL 之间有效吗?任何帮助都将不胜感激。截至目前……我可以在 2 个数据库之间更新和选择,但当我尝试运行插入语句时,它会给我一个错误。

OLE DB provider "MSDASQL" for linked server "**************" returned message "Query-based insertion or updating of BLOB values is not supported.". Msg 7343, Level 16, State 2, Line 1 The OLE DB provider "MSDASQL" for linked server "**************" could not INSERT INTO table "[*******************]...[**************_options]". Location: memilb.cpp:1493 Expression: (*ppilb)->m_cRef == 0 SPID: 76 Process ID: 1644

答案1

只要权限设置正确,您就应该能够顺利执行 INSERT。确保通过链接服务器连接到 MySQL 的用户上下文对 MySQL 服务器中的表具有适当的权限。

查看链接服务器的安全设置

  • 在 SQL Server Management Studio 的对象资源管理器中展开服务器对象
  • 展开链接服务器,右键单击有问题的链接服务器并获取属性。
  • 单击链接服务器属性页上的“安全性”并验证安全映射。

答案2

万一其他人想知道答案:问题出在变量上 - 我试图插入“longtext”,并且通过链接服务器 MS SQL 不允许我更新大于“varchar”的任何内容因此修复方法是:

1)更新并将列从 longtext 更改为 varchar

2)插入新数据

3)更新并将列从 varchar 改回 longtext

我知道这是一个糟糕的黑客攻击,对很多人来说都不起作用,但这在我的情况下有效。感谢 Squillman 的沟通

相关内容