Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2015, 11:48   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Не коннектится с базой MySQL

Добрый день, уважаемые форумчане!
Возникла необходимость перекидывать данные из файла Excel в базу MySQL. Драйверы ODBC установлены, источник данных через Панель управления - Администрирование создан, тест показал успешное соединение. Кстати, обратная ситуация, т.е. загрузка данных из базы MySQL в Excel осуществляется через Power Query успешно.
Создаю тестовый код для соединения с базой:
Код:
Sub Konn()
  Dim oConn As Object
    Set oConn = New ADODB.Connection
    
    'oConn.Open "DRIVER={MySQL ODBC 5.3 Driver};" & _
        "SERVER=xx.xxx.x.xx;" & _
        "DATABASE=xxxxx;" & _
        "UID=xxxxx;" & _
        "PASSWORD=xxxxxx;" & _
        "PORT:3306;" & _
        "charset=cp1251;" & _
        "Option=3;"
    oConn.Open "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _
        "SERVER=xx.xxx.x.xx;" & _
        "DATABASE=xxxxx;" & _
        "UID=xxxxx;" & _
        "PASSWORD=xxxxxx;" & _
        "PORT:3306;" & _
        "charset=cp1251;" & _
        "Option=3;"
    If oConn.State = adStateOpen Then
        MsgBox "Connected! =)"
    Else
        MsgBox "Can not connect... =("
    End If




End Sub
Строка подключения выдает ошибку "Не найден источник данных... не указан драйвер ODBC, используемый по умолчанию..." Варианты подписи драйвера в строке подключения использовал различные (в примере только 2 варианта), в том числе и {MySQL ODBC 5.3 Unicode Driver}. Версии драйверов и Excel x64 - совпадают. Библиотеки вроде подключены все нужные. Проблема, я так понимаю, все таки в Excel, скорее чего-то не хватает. Просмотрел массу материалов по этому поводу и не нашел адекватного ответа. Буду весьма благодарен за помощь и разъяснения.
Спасибо!
strannick вне форума Ответить с цитированием
Старый 02.11.2015, 11:59   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

пробуйте получить данные с помощью Power Query,
запишите процесс,
смотрите как Power Query подключился к базе
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.11.2015, 18:07   #3
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Соединение получилось после того как в довесок к драйверу х64 установил драйвер и коннектор NET х32 версии. После этого в уже созданном источнике данных ODBC появилось: Платформа - 32/64-разрядная версия, Драйвер - MySQL ODBC 5.3 Unicode Driver. Его тест дал добро. Вышеприведенный код в файле Excel сработал, тест соединение тоже показал. Почему так - не знаю, может специалисты дадут разъяснение.
Теперь разбираюсь как правильней и лучше выгружать в базу данные - каждый раз пакетно всю таблицу, которая по структуре аналогична таблице в базе данных, или только новые данные. За советы по этому вопросу и примеры кодов также буду признателен.
strannick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если есть ЕХЕ, который работает с mySQL базой и сайт тоже с базой. Можно ли прикрутить ЕХЕ на сторону сервера? TwiX Софт 1 18.11.2011 16:14
соединение с базой MySQL по IP uraura БД в Delphi 3 26.10.2010 10:31
Проблема соединения с базой MySQL Blade БД в Delphi 3 08.05.2009 04:25