CONSULTA APS CONEXO MYSQL REMOTO

 Tópico anterior Próximo tópico Novo tópico

CONSULTA APS CONEXO MYSQL REMOTO

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#456229 - 18/01/2016 01:28:06

LEAO10
BRASILIA
Cadast. em:Agosto/2009


Ol Galera,

Utilizo access a muitos anos e estou passando agora para mysql remoto...

Usei a conexo que o Marcelo Treze indicou (cpia abaixo), e funcionou normal

Citação:

Public Conexao As New ADODB.Connection

Public Function Conecta(ByVal Valor As Boolean)
Dim CON_STR As String
Dim SERVER As String
Dim USER As String
Dim SENHA As String
Dim PORTA As String
Dim BD As String
[]verifica se a conexao est aberta e fecha para evitar erros
If Conexao.State = 1 Then
Conexao.Close
Set Conexao = Nothing
Valor = True
End If
If Valor = True Then
SERVER = []201.20.24.80[]
BD = []nome_do_banco[]
PORTA = []3306[]
USER = []nome_de_usurio[]
SENHA = []senha[]
CON_STR = []DRIVER={MySQL ODBC 3.51 DRIVER};[] _
& []Server=[] & SERVER & [];[] _
& []Port=[] & PORTA & [];[] _
& []Database=[] & BD & [];[] _
& []UID=[] & USER & [];[] _
& []PWD=[] & SENHA & [];[] _
& []Option=3;[]
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conexao.Close
Set Conexao = Nothing
End If
End Function


Quando coloco conexao (true) ele no d erro, t ok.

O problema que acho que estou pensando localmente, e no sei como []traduzir[] o cdigo abaixo que sempre uso:


    Dim WsUm As Workspace
    Dim arquivo As Database
    Dim Sql As String
    Dim RsTemp As Recordset
    
    Set WsUm = Workspaces(0)

    Set arquivo = WsUm.OpenDatabase(([]C:\Users\Adm\Desktop\Temp\banco.mdb[]), False, False, [];pwd=senha[])

    Sql = []Select * from Cliente[]
    
    Set RsTemp = arquivo.OpenRecordset(Sql)
    
    MsgBox RsTemp!Nome
    MsgBox RsTemp!Endereco



Quero usar a mesma instruo acima, porm, no mysql remoto

Todos respiramos o mesmo ar, portanto devemos ter todos a mesma chance (Ayrton Senna)

#456233 - 18/01/2016 08:13:28

KURTGU
SAO PAULO
Cadast. em:Dezembro/2010


Última edição em 18/01/2016 08:13:45 por KURTGU

SERVER = []O PROVEDOR IRA TE FORNECER[]
BD = []nome_do_banco[]
PORTA = []3306[]
USER = []O PROVEDOR IRA TE FORNECER[]




#456244 - 18/01/2016 13:31:37

LEAO10
BRASILIA
Cadast. em:Agosto/2009


Obrigado Kurtgu, mas a conexo eu j tenho ... Criei o banco, o usurio, adicionei o usurio ao banco ... coloquei o cdigo do Marcelo Treze num mdulo, preenchi com os dados de ip, banco, usurio, senha

No cdigo abaixo:

    Conecta (True) []faz a conexo com o banco de dados
    Dim Rs As Recordset
    Set Rs = Conexao.Execute([]SELECT * FROM tabela[])


d o seguinte resultado

       [MySQL][ODBC 3.51 Driver][mysql-5.5.40-36.1]Table []dominio_banco.tabela[] doesnt exist

at a tudo bem, porque no existe a tabela com o nome []tabela[], mas coloco * FROM Cliente retorna


          
          Rum-time error []13[]

          type mismatch






Todos respiramos o mesmo ar, portanto devemos ter todos a mesma chance (Ayrton Senna)

#456245 - 18/01/2016 13:42:44

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Última edição em 18/01/2016 13:45:32 por FABRICIOWEB

Utilizo assim a muito tempo e com banco na web
Coloque em um modulo

Public CON As ADODB.Connection
Public rs As ADODB.Recordset


Sub Connect()
On Error GoTo tratado
Set CON = CreateObject([]ADODB.Connection[])
Set rs = CreateObject([]ADODB.Recordset[])
    Dim sConn As String
        sConn = []DRIVER={MySQL ODBC 3.51 Driver};[]
        sConn = sConn & []SERVER=[]ip do servidor;[]
        sConn = sConn & []USER=user;[]
        sConn = sConn & []PWD=123;[]
        sConn = sConn & []database=base de dados[]
        CON.Open sConn    []Abre o Banco de Dados
        rs.CursorLocation = adUseClient
tratado:
End Sub

Sub Disconnect()
On Error GoTo TrataErro10
rs.Close
CON.Close


TrataErro10:

If Err.Number = 3265 Then
   MsgBox []Erro de dados[]
End If


Set rs = Nothing
Set CON = Nothing


End Sub


No evento clique

Connect

rs.Open []SELECT * FROM tabela[], CON, adOpenStatic, adLockOptimistic

disconnect




#456251 - 18/01/2016 22:58:36

LEAO10
BRASILIA
Cadast. em:Agosto/2009


Obrigado pela ateno FabricioWeb

Coloquei mas agora a conexo no funciona... Vi que o cdigo tambm no possui a porta

Todos respiramos o mesmo ar, portanto devemos ter todos a mesma chance (Ayrton Senna)

#456253 - 18/01/2016 23:45:01

LEAO10
BRASILIA
Cadast. em:Agosto/2009


Amm, consegui... aps usar a conexo do Marcelo Treze, usei o cdigo abaixo para consultar:

    Conecta (True)
    
    Dim RsRemoto As ADODB.Recordset
    Set RsRemoto = New ADODB.Recordset
    
    RsRemoto.Open []SELECT * FROM Cliente[], Conexao, adOpenStatic, adLockOptimistic
    
    MsgBox RsRemoto!cep

    Conecta (False)


O problema que demorou 29 segundos para retornar ... ser que estou fazendo algo errado ???


Todos respiramos o mesmo ar, portanto devemos ter todos a mesma chance (Ayrton Senna)

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LEAO10 em 19/01/2016 00:28:10