sexta-feira, 5 de dezembro de 2014

Criando um Linked Server do SQL Server para MySQL - Sem usar OPENQUERY;

Pra quem já precisou alguma vez utilizar um Linked Server (Ou até DBLINK), sabe que para criar a "ponte" entre 2 SGBDS é necessário configurar o ODBC.

Como irei demonstrar a conexão entre o SQL Server para o MySQL, antes de começarmos você deverá baixar o driver ODBC do MySQL pelo site http://dev.mysql.com/downloads/connector/odbc/ e instalá-lo no Servidor de Banco de Dados SQL Server.



Na aba Fonte de Dados de Sistema adicione o driver MySQL ODBC ANSI.



Data Source Name: É o nome do Link (Ponte).
Description: Apenas utilizado caso queria preencher com alguma observação.
TCP/IP Server: IP do servidor MySQL.




Pronto ! Agora vamos ao SQL Server.



Defina os parâmetros:

Provedor/Provider: Microsoft OLE DB Provider for ODBC Drivers
Cadeia de caracteres do provedor/ Provider String: MySQL ODBC 5.3 ANSI Driver;SERVER=192.168.0.1;PORT=3306;DATABASE=bancomysql; USER=user;PASSWORD=password;OPTION=3;

OBS:
Server= IP do Servidor MYSQL
DataBase=Banco de dados MYSQL


Ok, executando o Select...

Select * FROM MYSQL_LINK...TABELA_MYSQL
Sintaxe  [Nome do Linked Server][...][Tabela do MYSQL]

Ops... Erro do Provedor MSDASQL.


Em Provedores, adicione nas propriedades do MSDASQL as opções conforme Print:

A opção que lhe permitirá executar o Select no formato [Nome do Linked Server][...][Tabela do MYSQL] é a SOMENTE NÍVEL ZERO.

Bom, agora vamos ao que nos interessa.

Select * FROM MYSQL_LINK...TABELA_MYSQL

















Att,
Bruno Duarte.