é de deixar sem chão. Não se desespere, verifique a versão do seu conector MySql que você instalou em seu computador. O problema pode está na versão do conector.
Set Cn = New ADODB.Connection
With Cn
.ConnectionString = _
"driver={mysql odbc 5.1 driver};" & _
"server=127.0.0.1;database=cliente;" & _
"uid=root;pwd=1234;"
.CursorLocation = adUseClient
.Open
End With
esse número que aparece após odbc se, por exemplo, estiver 5.1 mas seu conector instalado é o 5.5, irá resultar no erro acima descrito.
========================================================================
========================================================================
Outro erro comum é o caso da senha do gerenciador MySql. Caso a senha esteja incorreta surge um erro deste tipo:
Basta colocar a senha correta, ou se não possuir essa senha, nada feito. No script de conexão você encontra em pwd=1234; o local onde alterar sua senha.
=========================================================================
Mais uma erro bem comum seria colocar o nome do banco errado:
"server=127.0.0.1;database=cliente;" & _
Se o seu banco estiver errado, substitua pelo nome correto.
No meu caso sempre deu problema de não encontrar o driver no VBA, mas na conexão vinculada ao Excel funcionava. Alterei o nome da driver conforme a DSN de sistema do excel vinculado:
ResponderExcluirSub connect2()
Dim Password As String
Dim SQLStr As String
'OMIT Dim Cn statement
Dim Server_Name As String
Dim User_ID As String
Dim Database_Name As String
'OMIT Dim rs statement
Sheets("Plan1").Select
'Set rs = CreateObject("ADODB.Recordset") 'EBGen-Daily
Server_Name = Range("b2").Value
Database_Name = Range("b3").Value ' Name of database
User_ID = Range("b4").Value 'id user or username
Password = Range("b5").Value 'Password
'DSN = "MySQL ODBC 5.3 ANSI Driver Sis"
Set conn = New ADODB.Connection
conn.Open "DSN=MySQL ODBC 5.3 ANSI Driver Sis;" _
& ";SERVER=" & Server_Name _
& ";DATABASE=" & Database_Name _
& ";UID=" & User_ID _
& ";PWD=" & Password _
& ";OPTION=3"
'"ODBC;DSN=MySQL ODBC 5.3 ANSI Driver Sis;"
Set rs1 = New ADODB.Recordset
SQLStr = "SELECT * FROM `cargos` " & ";"
rs1.Open SQLStr, conn, adOpenStatic
With Worksheets("Planilha3").Cells(1, 1)
.ClearContents
.CopyFromRecordset rs1
End With
rs1.Close
Set rs1 = Nothing