В Delphi на работе у меня не установлено ничего для работы с MySQL. Решила попробовать настроить доступ к данным MySQL через ODBC. Получилось довольно быстро и нехлопотно, поэтому решила написать инструкцию и выложить в блоге — вдруг кому пригодится.
1. Скачиваем драйвер ODBC с официального сайта MySQL. На данный момент ссылка на страницу продукта такая: http://dev.mysql.com/downloads/connector/odbc/5.1.html. Пришлось там у них зарегистрироваться, чтобы получить возможность скачать, что надо. Но это дело двух минут — не страшно.
2. Параллельно я создала в MySQL базу, с которой планировала работать (полей там больше, с расчетом на дальнейшую работу)
3. Устанавливаем драйвер
4. Идем в Настройки / Панель управления / Администрирование / Источники данных (ODBC) / Системный DSN / Добавить
Настраиваем там подключение.
Нажимаем на "Test" и Убеждаемся, что соединение проходит.
5. В Delphi.
5.1. Кинуть на форму ADOConnection. Двойной клик на нем, настроить все, что надо. На первой закладке ("Поставщик данных") выбрать "Microsoft OLE DB Provider for ODBC Drivers". На второй закладке у меня получилось следующее (я подключалась к локалхосту :) ):
Опять же, после настройки можно проверить подключение и убедиться, что все работает.
5.2. А дальше все элементарно, просто работать с базой через ADO. Например, поместить на форму ADOTable, назначив ей в свойстве Connection созданный ранее ADOConnection. И так далее.
База, состоящая из 35217 записей (в основном Москва, REGION=1), получилась 35 метров, в архиве 14. Это из-за того, что описания фирм там пространные, типа "мы, такие-то такие-то, ведущий производитель на мировом рынке"... Многовато по размеру, да. Но придумаю, куда выложить, и выложу.
Чтобы быть в курсе обновлений блога, можно подписаться на RSS.
Для D2009 или где есть dbExpress... зацепиться к MySQL БД можно через компоненты dbExpress, для работы без визуальных компонентов достаточно TSQLConnection и SQLQuery, только обязательно нужна будет стандартная MySQL библиотека libmysql.dll. С уважением, Art.
ОтветитьУдалитьArt, спасибо за дополнение! Я до сих пор в D7 :)
ОтветитьУдалитьТакой вопрос.. если я в дальнейшем скопирую такую программу на другой компьютер, то она будет работать?
ОтветитьУдалитьNovomir, если просто скопируете, не настроив, - не будет. Чтобы работала - надо будет провести аналогичные настройки.
ОтветитьУдалитьПочему я невижу поля типа CHAR в SQL Explorer Delphi
ОтветитьУдалитьСпасибо! не сразу получилось с соединением, но потом нашел ошибку
ОтветитьУдалить