CRIAR CONEXÃO ODBC MYSQL E DEPOIS DESTRUIR

LUCIANORW 21/11/2016 21:37:15
#469091
Boa noite!!!
Procurei aqui no VBMania e no google, mas nao achei algo que funcionasse.
Existe a possibilidade de criar conexão ODBC (aquela do painel de controle) e depois destruir, tudo via codigo?
E quanto as n-versões do windows?

Att
Luciano
KERPLUNK 21/11/2016 22:11:58
#469092
Resposta escolhida
Se você está usando ADO, basta usar a string de conexão correta. Você cria a conexão, usa os recordsets com ela e pronto.
LUCIANORW 21/11/2016 23:00:42
#469098
Boa noite Kerplunk!
Estou testando com dados acoplados.
Att
Luciano
KERPLUNK 22/11/2016 14:15:59
#469110
Dados acoplados... não sei bem o que você quer dizer com isso, mas enfim. O básico do ADO é:
- Abrir conexão
- Usar objeto de conexão aberto para operações com o banco de dados.

Exemplos:

[ô]Abrindo a conexão
Dim cn As New ADODB.Connection
Set cn = New ADODB.Connection

cn.Open [Ô]Sua string de conexão aqui[Ô]

[ô]consultando dados de uma tabela
Dim rs As New ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open [Ô]Select * from SUA_TABELA[Ô], cn


[ô]Inserindo dados
cn.Execute [Ô]Insert Into SUA_TABELA (campo1, campo2) values ([ô]valor1[ô], [ô]valor2[ô])[Ô]

E por aí vai. A string de conexão, você encontra aqui


Mas assim, se você nunca nem se preocupou com isso até agora, implementar ADO em um programa VB6 será uma perda de tempo. Quem sabe não é essa a oportunidade que você precisa para migrar para o .NET?
LUCIANORW 23/11/2016 20:57:41
#469182
Ola Kerplunk!!!
Desculpe a demora.

Achei isso na net.

criar um arquivo .reg e depois executá-lo com .bat .

Criei o arquivo [Ô]ODBC_REG.reg[Ô] e inclui os seguintes comandos:
______________________________________________________
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\NomeOdbc]
[Ô]Driver[Ô]=[Ô]C:\\WINDOWS\\system32\\sqlsrv32.dll[Ô]
[Ô]Description[Ô]=[Ô]NomeOdbc[Ô]
[Ô]Server[Ô]=[Ô]Servidor[Ô]
[Ô]Database[Ô]=[Ô]BasedeDados[Ô]
[Ô]Trusted_Connection[Ô]=[Ô]Yes[Ô]
______________________________________________________

Não testei, mas pelo que vi, seria isso que procuro, mas sem ser por bat.

O acoplado que digo, são dados dos forms do access.
Preciso fazer um filtro de uma sistema.

Att
Luciano
KERPLUNK 23/11/2016 21:05:03
#469184
Você está insistindo em fazer da maneira mais difícil e esquisita possível. ADO é super simples, aqui mesmo no VBMania tem uma porrada de exemplos de programas usando MySQL e ADO. Simplifique, é a melhor maneira.
LUCIANORW 24/11/2016 22:57:07
#469219
Ola Kerplunk!!!
Estou fazendo conforme orientou.
Achei alguns codigos aqui no Vbmania
  
Option Explicit
Dim user As String, senha As String, server As String, porta As String, bancodedados As String
Public Con As ADODB.Connection
[ô]Public rs As ADODB.Recordset
Public Sub abrirconexao()
Dim con_str As String
Set Con = New ADODB.Connection
bancodedados = [Ô]bd_dados[Ô]
server = [Ô]localhost[Ô]
[ô]server = [Ô]127.0.0.1[Ô]
porta = [Ô]3306[Ô]
user = [Ô]usuario[Ô]
senha = [Ô]senha[Ô]
con_str = [Ô]DRIVER={MySQL ODBC 5.3 Driver}[Ô] _
& [Ô];server=[Ô] & server _
& [Ô];Port = 3306[Ô] _
& [Ô];database=[Ô] & bancodedados _
& [Ô];User=[Ô] & user _
& [Ô];Password=[Ô] & senha _
& [Ô];option=3;[Ô]
[ô]con_str = [Ô]Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=bd_lrwsistemas;User=supervisor;Password=wtnfk0ue;Option=3;[Ô]
With Con
.CursorLocation = adUseClient
.ConnectionString = con_str
.Open con_str
End With
End Sub

Está apresentando a seguinte msg de 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.

Se vou no Painel de Controle do Windows, e faço o teste de conexão lá, com os mesmo dados que estão, funciona.

Att
Luciano
KERPLUNK 25/11/2016 00:31:20
#469220
Você instalou o driver ODBC? Para a versão que está na connection string, você terá que baixar uma versão antiga, que você encontra aqui. Mas sugiro usar a versão mais atual, que está aqui e mudar sua connection string apropriadamente.
LUCIANORW 25/11/2016 22:08:39
#469234
Boa noite!!!
Então, eu instalei o mysql completo e o xampp também, ja tinha notado, que só para de dar erro quando starto o mysql no xampp, se para o serviço, da erro (com certeza).
Desinstalei e instalei o driver mais atual, conforme você me orientou.
Notei MysqlNotifier está:
Localhost (online)
Mysql57 - Stardpending (a opção de start está desabilitade, stop habilitada e restart tambem habilitada)

Removi completamente o mysql, instalei novamente, mas continua a mesma coisa.

Fugindo um pouco do assunto:
Apenas para fazer um teste e aprender um poukim, criei uma conta em:
https://www.000webhost.com/
criei um bd e importo o eskema que tenho em minha maquina para la, da o erro abaixo:

Error
Static analysis:
1 errors were found during analysis.
The name of the entity was expected. (near [Ô]SCHEMA[Ô] at position 7)
SQL query:
CREATE SCHEMA IF NOT EXISTS 'bd_lrwsistemas' DEFAULT CHARACTER SET utf8
MySQL said: Documentation
#1044 - Access denied for user [ô]id251509_root[ô]@[ô]%[ô] to database [ô]bd_lrwsistemas[ô]

E fazendo a mesma coisa local (127.0.0.1), está ok.

Que dureza.

Att
Luciano
KERPLUNK 25/11/2016 23:08:58
#469236
Leia bem a mensagem de erro e tente entender o que ela diz:
[txt-color=#0000f0]Access denied for user [ô]id251509_root[ô]@[ô]%[ô] to database [ô]bd_lrwsistemas[ô][/txt-color]
KERPLUNK 25/11/2016 23:17:16
#469237
Vou tentar explicar como funciona a coisa:
Você tem o servidor MySQL, que é um serviço que roda em alguma máquina, que chamamos comumente de servidor. Com o serviço rodando, você precisa liberar a porta 3306(que é a porta padrão para conexões do MySQL), se quiser que outras máquinas possam se conectar no seu servidor. Essa conexão, é feita através do driver ODBC em cada estação. Você configura a string de conexão, com o caminho e porta da máquina em que o serviço está instalado. O notifier, aquele iconezinho, simplesmente mostra o status do serviço, se está rodando ou não. O que interessa à você é o localhost, que deve estar online. O que está aparecendo a mais, provavelmente é coisa do Xampp.

O Xampp é totalmente desnecessário, ele instala mais do que você precisa(digo, instala coisas além do MySQL).
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas