Linked Server entre o mySQL e o SQL Server
6 de maio de 2012 6 Comentários
Fala Galera, esta semana precisei acessar uma base de dados mySQL e importar alguns registros para uma base SQL Server; achei que seria interessante compartilhar os passos que segui para realizar a tarefa. Optei por fazer a comunicação entre as duas bases através de um linked server e utilizando o provider disponibilizado pelo pela própria comunidade mySQL.
Antes que possamos continuar, certifique-se que você possua o Provider de acesso ao mySQL cadastrado no windows, para isso será necessário fazer a verificação no ODBC Data Source Administrator (para mais informações consulte: http://msdn.microsoft.com/en-us/library/ms188691.aspx). Caso você ainda não possua o provider instalado poderá fazer o download através do: http://dev.mysql.com/downloads/connector/odbc/ .
Agora que o provider do mySQL já está instalado na maquina, vamos vincula-lo a uma base de dados. Clique em “ADD” e preencha o formulário para cadastrar a base.
Preenche adequadamente o formulário e faça o teste de comunicação.
Muito bem! Já temos nossa base de dados mySQL cadastrada. Agora abra o Microsoft SQL Server Management Studio (SSMS), pois vamos criar o linked server que possibilitará o acesso aos dados da outra base.
Mas antes vamos alterar algumas propriedades do provider MSDASQL, evitando assim alguns erros de comunicação com o linkedserver. Acesse sua instância do SQL Server, vá em “server objects”, depois “providers” e dê um duplo clique no “MSDASQL”. Selecione as opçoões conforme a imagem abaixo:
Feito isto vá em “server objects” e clique com o botão direito em “New LinkedServer”. Basta fazer o preenchimento dos campos DataSource e ProductName, conforme a imagem a seguir:
Clique em “OK” e pronto! Nosso linked Server está criado e pronto para acessar os dados contidos na base de dados mySQL.
Que tal testarmos nosso linkedServer? A query abaixo seleciona do ID UM da tabela usuarios (esta tabela está no servidor mySQL)
SELECT * FROM OPENQUERY(MYSQLPROVIDER,’SELECT * FROM usuario WHERE ID = 1′)
Bom gente, por hoje é isso.
Qualquer dúvida estou a disposição.
Abraços.