[resolvido] - Erro conexão MySQL

Moderador: Avelino Sampaio

Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

[resolvido] - Erro conexão MySQL

Mensagempor Mauricio.Santos » 09 Mar 2016, 19:44

Olá!

Minha aplicação necessita de uma conexão MySQL sem ODBC.

Utilizo a seguinte string de conexão com MySQL retirado de um exemplo no site UsandoAccess:

Código: Selecionar todos

    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strBDSqlServidor As String
    Dim strBDSqlUsuario As String
    Dim strBDSqlSenha As Variant
    Dim strSqlBDDatabase As String
    Dim strSql as string
   
    strBDSqlServidor  = IPServidorMySQL
    strBDSqlUsuario = NomeUsuario
    strBDSqlSenha = SenhaUsuario
    strSqlBDDatabase = NomeBaseDados
       
    strsql = "SELECT Campo FROM Tabela_01 LEFT JOIN Tabela_02 ON Tabela_01.Campo = Tabela_02.Campo WHERE Tabela_02.Campo Is Null"

    cn = "Driver={MySQL};server=" & strBDSqlServidor & ";Database=" & strSqlBDDatabase & ";User=" & strBDSqlUsuario & ";Password=" & strBDSqlSenha & ";Option=3;"
    rs.CursorLocation = adUseClient
    rs.Open strSql, cn, adOpenDynamic, adLockOptimistic <<-- Erro!


Ao executar ocorre o seguinte erro:

"Erro em tempo de execução '3709':

A conexão não pode ser usada para realizar esta operação. Ela está fechada ou é inválida neste contexto"

Utilizo Windows 10 Pro e Office365 2016

Alguém pode me ajudar?

Obrigado.
Última edição por Mauricio.Santos em 28 Mar 2016, 10:53, editado 1 vez no total.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Jeferson
Mensagens: 22
Registrado em: 07 Jun 2015, 14:09
Localização: Belo Horizonte
Contato:

Re: Erro conexão MySQL

Mensagempor Jeferson » 10 Mar 2016, 10:54

Prezado Mauricio

A titulo de curiosidade, você está utilizando um ODBC, apenas está fazendo isso via código:

cn = "Driver={MySQL};server=" & strBDSqlServidor & ";Database=" & strSqlBDDatabase & ";User=" & strBDSqlUsuario & ";Password=" & strBDSqlSenha & ";Option=3;"


O parâmetro está correto: adOpenDynamic, adLockOptimistic

Tente passar as instruções adOpenForwardOnly e adLockReadOnly na abertura do seu recordeset.

Uma coisa que eu observei são os JOIN na utilização do Access com o MySQL.

Tente criar a consulta no MySQL e roda-la através do seu recordeset.

Sds
Suporte ao Desenvolvedor Ms Access: preços especiais para usuários da RedeAccess e UsandoAccess.
NFe, NFSe, NFCe, CFe, CTe, Boleto Bancário, SMS, integração Web, Android. Módulos em código fonte aberto. Access: http://www.kartoffel.com.br

Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

Re: Erro conexão MySQL

Mensagempor Mauricio.Santos » 10 Mar 2016, 11:41

Olá Jeferson!!!

Obrigado por responder.

A sua dica não deu certo, o erro persiste.
O servidor MySQL é de acesso exclusivo de uma empresa terceirizada e não tenho permissão de acesso. Ela disponibilizou essa tabela no modo leitura apenas para importarmos dados para uma tabela MSSQL.
Tenho os drivers do MySQL Connector instalados na minha máquina e preciso realizar a conexão com MySQL sem a necessidade de configurar um ODBC.
É possível?

Obrigado.

Avatar do usuário
Jeferson
Mensagens: 22
Registrado em: 07 Jun 2015, 14:09
Localização: Belo Horizonte
Contato:

Re: Erro conexão MySQL

Mensagempor Jeferson » 10 Mar 2016, 13:13

Companheiro, sem acesso fica difícil

Eu simulei aqui no meu MySQL e o problema era o Join.

Se você não puder criar a consulta, peça par ao admin criar.

Sem isso para testar fica difícil.

A conexão está correta. tudo indica que pode ser os parâmetros escritos na consulta.

o que você pode fazer, é criar uma conexão ODBC local, vincular as tabelas e tratar o processamento localmente.

Sem acesso a modificação e criação de Query no servidor MySQL, fica difícil ajudar.

Sds
Suporte ao Desenvolvedor Ms Access: preços especiais para usuários da RedeAccess e UsandoAccess.
NFe, NFSe, NFCe, CFe, CTe, Boleto Bancário, SMS, integração Web, Android. Módulos em código fonte aberto. Access: http://www.kartoffel.com.br

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

Re: Erro conexão MySQL

Mensagempor Mauricio.Santos » 10 Mar 2016, 15:31

Olá Jeferson.

Criar uma conexão ODBC local é justamente o que não quero.

Usei este código para testar a conexão:

Código: Selecionar todos


    cn.ConnectionString = "Driver={MySQL};server=" & strBDSqlServidor & ";Database=" & strSqlBDDatabase & ";uid=" & strBDSqlUsuario & ";pwd=" & strBDSqlSenha & ";"
    cn.Open



E também usei este:

Código: Selecionar todos


    cn.ConnectionString = "Driver={MySQL ODBC 5.3 Driver};server=" & strBDSqlServidor & ";Database=" & strSqlBDDatabase & ";uid=" & strBDSqlUsuario & ";pwd=" & strBDSqlSenha & ";"
    cn.Open



Em ambos o erro é :

"Erro em tempo de execução '-2147467259 (80004005)':

[Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado"

Pode ajudar?

Obrigado

.

Avatar do usuário
Avelino Sampaio
Mensagens: 1871
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Erro conexão MySQL

Mensagempor Avelino Sampaio » 10 Mar 2016, 17:05

Mauricio,

qual a versão do Drive que vc instalou na sua máquina ?

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

Re: Erro conexão MySQL

Mensagempor Mauricio.Santos » 10 Mar 2016, 17:20

Olá Avelino!

Instalei o MySQL Connector ODBC versão 5.3.4.

Obrigado.

Avatar do usuário
Avelino Sampaio
Mensagens: 1871
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Erro conexão MySQL

Mensagempor Avelino Sampaio » 10 Mar 2016, 17:59

Experimente um versão anterior. Baixe a versão que indiquei neste artigo do Jeferson

http://www.usandoaccess.com.br/tutoriais/configurar-access-com-mysql-parte-2.asp?id=1#inicio

Em alguns dos comentário do artigo, o pessoal informa que teve que baixar versão inferior para que funcionasse.

Veja também se este tópico ajuda em alguma coisa:

http://www.maximoaccess.com/t15439-resolvidoaccess-com-backend-na-web-problemas-com-recordset

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

Re: Erro conexão MySQL

Mensagempor Mauricio.Santos » 11 Mar 2016, 12:01

Olá Avelino!

Instalei a versão 5.1.10 do MySQL Connector.

Não ocorreu erro ao utilizar o seguinte código para conexão:

Código: Selecionar todos

   cn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};server=" & strBDSqlServidor & ";Database=" & strSqlBDDatabase & ";uid=" & strBDSqlUsuario & ";pwd=" & strBDSqlSenha & ";"
   cn.Open
   rs.CursorLocation = adUseClient


Mas ao executar o seguinte código:

Código: Selecionar todos

   strSql = "Select * from tblTabela"
   rs.Open strSqln  <<-- Erro!!!


Aparece o erro:

"Erro em tempo de execução '3709':
A conexão não pode ser usada para realizar esta operação. Ela está fechada ou é inválida neste contexto"


Utilizei também o seguinte código e ocorreu o mesmo erro no mesmo ponto:

Código: Selecionar todos

   cn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};server=" & strBDSqlServidor & ";Database=" & strSqlBDDatabase & ";uid=" & strBDSqlUsuario & ";pwd=" & strBDSqlSenha & ";"
       
   rs.CursorLocation = adUseClient     
   strsqln = "Select * from tblTabela"
   rs.Open strsqln, cn, adOpenDynamic, adLockOptimistic <<-- Erro!!!




 

Avatar do usuário
Jeferson
Mensagens: 22
Registrado em: 07 Jun 2015, 14:09
Localização: Belo Horizonte
Contato:

Re: Erro conexão MySQL

Mensagempor Jeferson » 11 Mar 2016, 13:42

Qual a versão do driver que está instalado no Servidor?

Se no servidor for o 5.1, por exemplo o driver na configuração tem que informar qual driver será utilizado, e tem que ser a mesma versão.

Sds
Suporte ao Desenvolvedor Ms Access: preços especiais para usuários da RedeAccess e UsandoAccess.
NFe, NFSe, NFCe, CFe, CTe, Boleto Bancário, SMS, integração Web, Android. Módulos em código fonte aberto. Access: http://www.kartoffel.com.br

Avatar do usuário
Jeferson
Mensagens: 22
Registrado em: 07 Jun 2015, 14:09
Localização: Belo Horizonte
Contato:

Re: Erro conexão MySQL

Mensagempor Jeferson » 11 Mar 2016, 13:50

Uma observação quanto ao código:

strSql = "Select * from tblTabela"
rs.Open strSqln <<-- Erro!!!

O MySQL é case sensitive. Isso significa a tabela na instrução do Access tem que igual a que está na base de dados MySQL.

Exemplo:

tblTabela = tblTabela

Só que, o MySQL não aceita essa combinação tblTabela (maiuscula e minuscula). Ele obriga a ser tudo minusculo.

Assim, tente passar o parâmetro tbltabela

Sds
Suporte ao Desenvolvedor Ms Access: preços especiais para usuários da RedeAccess e UsandoAccess.
NFe, NFSe, NFCe, CFe, CTe, Boleto Bancário, SMS, integração Web, Android. Módulos em código fonte aberto. Access: http://www.kartoffel.com.br

Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

Re: Erro conexão MySQL

Mensagempor Mauricio.Santos » 11 Mar 2016, 14:26

Olá Jeferson.

Obrigado pelo retorno.

Fiz o que você recomendou mas o erro persiste.

Obrigado.

Avelino
Mensagens: 2
Registrado em: 12 Mar 2016, 20:42

Re: Erro conexão MySQL

Mensagempor Avelino » 12 Mar 2016, 21:00

Mauricio.Santos, boa noite já activaste as referencias no vba, Microsoft ActiveX Data Objects 2.8 Library e Microsoft ADO Ext. 2.8 DDL and Security

Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

Re: Erro conexão MySQL

Mensagempor Mauricio.Santos » 14 Mar 2016, 11:45

Olá Avelino.

Sim, as referências que você informa estão ativadas.

Avelino
Mensagens: 2
Registrado em: 12 Mar 2016, 20:42

Re: Erro conexão MySQL

Mensagempor Avelino » 18 Mar 2016, 22:57

Entao mande o exemplo do front-end para mim testar

Mauricio.Santos
Mensagens: 44
Registrado em: 13 Ago 2015, 14:59
Localização: São Paulo

Re: Erro conexão MySQL

Mensagempor Mauricio.Santos » 28 Mar 2016, 10:52

Resolvido.....

Depois de quebrar a cabeça, desinstalar e reinstalar drive MySql o problema só foi resolvido quando desinstalei o drive, limpei o registro do Windows e reinstalei o drive do MySql.

Obrigado.

marciomelo
Mensagens: 1
Registrado em: 09 Jun 2015, 03:01

Re: [resolvido] - Erro conexão MySQL

Mensagempor marciomelo » 28 Set 2016, 02:43

Muito bacana a possibilidade de pegar os dados direto de uma tabela do MySql... e assim vamos aprendendo a resolver os problemas de conexões...

Sou mais Brasil!

Abs...

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Access x MySql”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 2 visitantes