IMPORTANTE: A partir da versão 6.5 do Elipse E3, o banco MySQL possui conexão nativa. Para versões anteriores à versão 6.5, verifique o procedimento abaixo:
Neste artigo, veremos como conectar o Elipse E3 ao banco de dados MySQL. Vamos realizar esta conexão via Driver ODBC.
Pré-Requisitos:
Primeiramente, para conectar o MySQL e o Elipse E3, serão necessários os seguintes softwares:
- Elipse E3: Neste exemplo, foi utilizada a versão 5.1.195.
- MySQL Server local ou na rede: Neste exemplo, foi utilizada a versão 8.0.21.
- Visual Studio 2019 Redistribuível x86: Pré requisito do Connector/ODBC.
- Connector/ODBC (32 bits) do MySQL.
Introdução:
Antes de tudo, instale a versão 32 bits (x86) do Visual Studio 2019 Redistribuível (caso ele ainda não tenha sido instalado).
Logo após, instale a versão 32 bits do Connector/ODBC do MySQL.
Iniciando a comunicação:
Na versão 8.0.21, a string de conexão é a seguinte:
Provider=MSDASQL;Driver={MySQL ODBC 8.0 ANSI Driver}; Server=IP_SERVIDOR; Database=BANCO; User=USUARIO;Password=SENHA;Option=3;
Ou
Provider=MSDASQL;Driver={MySQL ODBC 8.0 Unicode Driver}; Server=IP_SERVIDOR; Database=BANCO; User=USUARIO;Password=SENHA;Option=3;
Pode-se consultar o driver nas Fontes de dados ODBC do Windows (32 bits).
Caso esteja utilizando outra versão, consulte a string de conexão no seguinte link:
https://www.connectionstrings.com/mysql/
Com a string de conexão, então já é possível montar o script que vai fazer a conexão e buscar os dados.
Já que esta é conexão via ODBC, toda a comunicação se dá via scripts.
No exemplo em anexo, consultaremos os 5 primeiros registros da tabela world; esta tabela já vem instalada no MySQL.
Estrutura do Script:
- Realize a conexão com o banco utilizando a string de conexão previamente identificada.
'Cria conexão com o banco de dados Set db_con = CreateObject("ADODB.Connection") str_con = "Provider=MSDASQL;Driver={MySQL ODBC 8.0 ANSI Driver};Server="&Screen.Item("spIP").Value&";Database=world;User="&Screen.Item("spUsuario").Value&";Password="&Screen.Item("spSenha").Value&";Option=3;" 'ou Driver={MySQL ODBC 8.0 Unicode Driver} db_con.Open str_con 'Abre a conexao ODBC
- Logo após a conexão, crie a consulta que retornará os valores desejados.
Set rs = CreateObject("ADODB.Recordset") sqlstr = "SELECT * FROM city" 'SQL da consulta. Buscando todos os registros da tabela City rs.ActiveConnection = db_con rs.Open sqlstr, db_con 'Executa a consulta definia na variavel sqlstr rs.MoveFirst 'Vai para o primeiro registro
- A partir deste momento, os dados retornarão em pontos identificados pela variável fields iniciando em 0. Exemplo:
Msgbox rs.fields(0) For i = 0 to 4 For j= 0 to 4 Execute "Screen.Item("&Chr(34)&"Texto"&((j+1)+(5*i))&Chr(34)&").Value = rs.fields("&j&")" 'Percorre todos os campos e preenche os displays da tela Next rs.MoveNext 'Passa para o proximo registro Next
Atenção: Não utilizar o usuário root para fazer esta conexão.
Como conseguiria efetuar as atualizações do E3Browser efetuando conexão com o MYSQL?