Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

The Queen

[Resolvido] Conexão MySql

Recommended Posts

Não sei se este é o lugar certo para postar esta dúvida mas vai assim mesmo

 

Tenho instalado o MYSQL 5 e estou tentando fazer a conexão ADO no VB não consigo de jeito algum. Alguém poderia me ajudar?

 

 

Dim conn As ADODB.Connection

 

Set conn = CreateObject("ADODB.Connection")

 

With conn

.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _

& "SERVER=localhost;" _

& " DATABASE=gps_report;" _

& "UID=acesso;PWD=koleta186; OPTION=3"

.Open

 

End With

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essta é a função de conexão

 

Public Function ConectarBD(pConexao As ADODB.Connection, _

pServidor As String, _

pDatabase As String, _

pUsuario As String, _

pSenha As String) As Boolean

 

On Error GoTo Erro

 

With pConexao

.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _

& "SERVER=" & pServidor & ";" _

& "DATABASE=" & pDatabase & ";" _

& "UID=" & pUsuario & ";PWD=" & pSenha & ";OPTION=3"

.Open

 

End With

 

ConectarBD = True

 

Exit Function

 

Erro:

 

Call TratarErro(pConexao.ConnectionString, "ConectarBD")

 

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

boas!

como eu te compreendo!!!!

estou farto de andar as voltas em sites a procura de uma solução para um problema exactamente igual.

tenho o vb ligado ao mysql atraves de:

cn.ConnectionString = "driver={MySQL ODBC 3.51 driver};server=localhost;uid=root;pwd=;database=vbtestes"

a nivel local e tudo na boa sem problemas. o big problem está em ligar isto em rede, porque não sei se é preciso fazer alguma configuração no mysql para que os outros utilizadores possam aceder a base de dados e se isso for necessario não sei que configurações hei-de fazer.

têm-me aparecido vários erros, sendo o mais comum:

"o host 'xxxx' não tem permissão para se conectar com este servidor MySql"

já não sei o que hei-de inventar mais para ver se isto funciona :wacko: http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vou postar como esta minha conexão que funciona, da uma olhada:

 

On Error GoTo errconexao
cnn.CursorLocation = adUseClient
cnn.Open "DRIVER={MySQL ODBC 3.51 Driver};database=test;Server=localhost;user=root;pwd=senha;port=3306"
Exit Sub

errconexao:
With Err
If .Number <> 0 Then
MsgBox " houve um erro na conexão com o banco de dados." & _
vbCrLf & " O sistema será encerrado.", vbCritical + vbOKOnly + vbApplicationModal, "erro na conexão"
.Number = 0
Set cnn = Nothing
End
End If
End With

Basicamente o esquema é este

 

cnn.CursorLocation = adUseClient
cnn.Open "DRIVER={MySQL ODBC 3.51 Driver};database=test;Server=localhost;user=root;pwd=senha;port=3306"

Então The Queen tenta assim:

 

dim conn as new ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open "DRIVER={MySQL ODBC 3.51 Driver};database=gps_report;Server=localhost;user=root;pwd=Koleta186;port=3306"

Quanto a rede é o seguinte:

1 - todos os micros devem ter o Driver ODBC instalado

2 - Não se usa o LocalHost, mas sim o IP ou nome do Micro na Rede

Compartilhar este post


Link para o post
Compartilhar em outros sites

The Queen,

 

O macêdo explicou muito bem, mas vou exibe como faço:

1- Crie um módulo:

Public mycon As New ADODB.Connection

Public mycmd As New ADODB.Command

Public myrs As New ADODB.Recordset

Public calther As String

Public sql As String

2- Crie a conexão no formulário de apresentação:

Private Sub Timer1_Timer()

On Error GoTo ErrConexao ' Inicia o tratamento de erro na conexão

 

Set mycon = New ADODB.Connection

mycon.ConnectionTimeout = 60

mycon.CommandTimeout = 400

mycon.CursorLocation = adUseClient

mycon.Open "driver={MySQL ODBC 3.51 Driver};DSN=orcamento;OPTION=3;server=localhost;uid=root;pwd=teste;PORT=3306;dat

abase=orcamento"

Unload Me

form_login.Show

 

Exit Sub

 

ErrConexao:

 

With Err

If .Number <> 0 Then

MsgBox " Houve um erro na conexão com o banco de dados." & _

vbCrLf & " O sistema será encerrado ?", _

vbCritical + vbOKOnly + vbApplicationModal, _

" Erro nao conexão"

.Number = 0

Set mycon = Nothing

End

End If

End With

 

End Sub

3 - Para usá-la em qualquer formulário faça assim:

On Error GoTo Form_Load ' Erro ao carregar formulário

'Centraliza o formulário na área de trabalho do MDI:

Me.Left = (MDIFormDespesa.ScaleWidth - Me.Width) / 2

Me.Top = (MDIFormDespesa.ScaleHeight - Me.Height) / 2

 

Screen.MousePointer = vbHourglass

 

If AdoFornecedor.State = 1 Then Set AdoFornecedor = Nothing

sql = "select * from fornecedor order by nome_fornecedor limit 100"

AdoFornecedor.Open sql, mycon, adOpenDynamic, adLockPessimistic

mycon.Execute sql

AdoFornecedor.CacheSize = 30

Set DataGridFornecedor.DataSource = AdoFornecedor

 

mostradados

registro_fornecedor

tipo_pessoa.AddItem "F"

tipo_pessoa.AddItem "J"

estado.AddItem "AC"

estado.AddItem "AL"

estado.AddItem "AM"

estado.AddItem "AP"

estado.AddItem "BA"

estado.AddItem "CE"

estado.AddItem "DF"

estado.AddItem "ES"

estado.AddItem "GO"

estado.AddItem "MA"

estado.AddItem "MG"

estado.AddItem "MS"

estado.AddItem "MT"

estado.AddItem "PA"

estado.AddItem "PB"

estado.AddItem "PE"

estado.AddItem "PI"

estado.AddItem "PR"

estado.AddItem "RJ"

estado.AddItem "RN"

estado.AddItem "RO"

estado.AddItem "RR"

estado.AddItem "RS"

estado.AddItem "SC"

estado.AddItem "SE"

estado.AddItem "SP"

estado.AddItem "TO"

 

Form_Load_exit:

Screen.MousePointer = vbDefault

Exit Sub

Form_Load:

MsgBox Err.Description, vbInformation, "Erro ao [Form_Load]"

 

End Sub

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.