我正在尝试学习openquery。我有一个具有链接服务器MySQL_testing的MSSQL服务器。现在,我整个上午一直在与openquery语法作斗争,并认为这里可能是更聪明的人知道它的工作原理。

那么下面的工作语法是什么

  INSERT INTO OPENQUERY
(test_MYSQL, 'INSERT INTO test.catalog_category_product VALUES (1, 1, 1)')


错误是


  链接服务器的OLE DB提供程序“ MSDASQL”指示
  该对象没有列或当前用户没有
  该对象的权限。


我检查了xx.xxx.xxx.xxx上的“ root”用户是否具有插入,更新等权限

是什么原因造成的?

先感谢您!

最佳答案

您需要将“ VALUES”子句移出打开的查询,然后选择要插入的“ COLUMNS”,请参见以下示例

INSERT OPENQUERY(test_MYSQL, 'SELECT COLUMN1, COLUMN2, COLUMN2 FROM test.catalog_category_product')
VALUES (1, 1, 1)


Here is the article on OPENQUERY

希望这可以帮助

关于mysql - Openquery INSERT语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24058089/

10-10 04:07