Openquery INSERT синтаксис
Я пытаюсь выучить openquery. У меня есть сервер MSSQL, который имеет связанный сервер MySQL_testing. Теперь я боролся с синтаксисом openquery все утро и подумал, что здесь, вероятно, гораздо умнее людей, которые знают, как он работает.
Так каков рабочий синтаксис для следующего
INSERT INTO OPENQUERY
(test_MYSQL, 'INSERT INTO test.catalog_category_product VALUES (1, 1, 1)')
Ошибка
Поставщик OLE DB "MSDASQL" для связанного сервера указывает, что либо у объекта нет столбцов, либо у текущего пользователя нет разрешений на этот объект.
Я проверил, что пользователь root на xx.xxx.xxx.xxx имеет права на вставку, обновление и т. Д.
Что может вызвать это?
Заранее спасибо!
1 ответ
Решение
Вам нужно убрать предложение VALUES из вашего открытого запроса и выбрать "COLUMNS", в которые вы хотите вставить, см. Пример ниже.
INSERT OPENQUERY(test_MYSQL, 'SELECT COLUMN1, COLUMN2, COLUMN2 FROM test.catalog_category_product')
VALUES (1, 1, 1)
Надеюсь это поможет