Pergunta

Estou tentando aprender openquery.Eu tenho um servidor MSSQL que possui um servidor vinculado MySQL_testing.Agora, tenho lutado com a sintaxe do openquery a manhã toda e percebi que aqui provavelmente há pessoas muito mais inteligentes que sabem como ela funciona.

Então, qual é a sintaxe de trabalho para o seguinte

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

O erro é

O provedor OLE DB "MSDASQL" para servidor vinculado indica que o objeto não possui colunas ou o usuário atual não possui permissões nesse objeto.

Verifiquei se o usuário "root" em xx.xxx.xxx.xxx possui direitos de inserção, atualização, etc.

O que poderia causar isso?

Agradeço antecipadamente!

Foi útil?

Solução

Você precisa mover a cláusula 'VALUES' para fora da sua consulta aberta e selecionar as 'COLUNAS' nas quais deseja inserir, veja o exemplo abaixo

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

Aqui está o artigo sobre OPENQUERY

Espero que isto ajude

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top