2013-03-13 3 views
3

Я пытаюсь подключить свою электронную таблицу Excel к моей базе данных MySQL, размещенной локально на данный момент. Я использую WAMPSERVER.VBA подключиться к MySQL DB

Вот мой код VBA:

Dim oConn As ADODB.Connection 
Private Sub ConnectDB() 
    Set oConn = New ADODB.Connection 
    oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _ 
     "SERVER=localhost;" & _ 
     "DATABASE=test;" & _ 
     "USER=root;" & _ 
     "PASSWORD=;" & _ 
     "Option=3" 
End Sub 

Я создал БД «тест» на через PhpMyAdmin ... У меня есть ошибки при запуске кода. У вас есть идея?

+0

хорошо, что такое ошибка? – 2013-03-13 16:35:02

+0

@mehow Ошибка выполнения «-2147467259 (80004005)», ошибка автоматизации и неуказанная ошибка – Henri

+0

вы пытались использовать UID и PWD вместо USER и PASSWORD? + проверьте версию mysql, возможно, ее старше 5.1, поэтому вам может потребоваться изменить версию вашего драйвера на ie. 3.51 или найти подходящую строку [здесь] (http://www.connectionstrings.com/mysql) – 2013-03-13 16:46:10

ответ

2

Проблема была вызвана неправильными ссылками. В VBE мне пришлось щелкнуть Tools> References и проверить «Microsoft ActiveX Data Objects 6.1 Library» и только этот.

Макрос правильно работает теперь под WAMP (с параметрами по умолчанию Имя пользователя = корень и PWD = «») на Windows 7 с помощью следующего кода:

Dim oConn As ADODB.Connection 
Private Sub ConnectDB() 
    Set oConn = New ADODB.Connection 
    oConn.Open "DRIVER={MySQL ODBC 3.51 Driver};" & _ 
     "SERVER=localhost;" & _ 
     "DATABASE=excel;" & _ 
     "USER=root;" & _ 
     "PASSWORD=;" & _ 
     "Option=3" 
End Sub 
Смежные вопросы