Поиск по блогу

вторник, 4 августа 2009 г.

MySQL и Delphi. Express-метод

Парсинг информации о предприятиях закончился. Производился он достаточно долго, так как я никуда не торопилась и поставила двухсекундную задержку между загрузками страниц. Собранную информацию я записала в базу Firebird. И решила по-быстрому перекинуть ее в MySQL, чтобы выложить, как обещала.

В Delphi на работе у меня не установлено ничего для работы с MySQL. Решила попробовать настроить доступ к данным MySQL через ODBC. Получилось довольно быстро и нехлопотно, поэтому решила написать инструкцию и выложить в блоге — вдруг кому пригодится.

1. Скачиваем драйвер ODBC с официального сайта MySQL. На данный момент ссылка на страницу продукта такая: http://dev.mysql.com/downloads/connector/odbc/5.1.html. Пришлось там у них зарегистрироваться, чтобы получить возможность скачать, что надо. Но это дело двух минут — не страшно.

2. Параллельно я создала в MySQL базу, с которой планировала работать (полей там больше, с расчетом на дальнейшую работу)


3. Устанавливаем драйвер
MySQL-ODBC install

4. Идем в Настройки / Панель управления / Администрирование / Источники данных (ODBC) / Системный DSN / Добавить

Настраиваем там подключение.
Congfig MySQL ODBC
Нажимаем на "Test" и Убеждаемся, что соединение проходит.
test config mysql odbc

5. В Delphi.
5.1. Кинуть на форму ADOConnection. Двойной клик на нем, настроить все, что надо. На первой закладке ("Поставщик данных") выбрать "Microsoft OLE DB Provider for ODBC Drivers". На второй закладке у меня получилось следующее (я подключалась к локалхосту :) ):
ADOConnection Config
Опять же, после настройки можно проверить подключение и убедиться, что все работает.
5.2. А дальше все элементарно, просто работать с базой через ADO. Например, поместить на форму ADOTable, назначив ей в свойстве Connection созданный ранее ADOConnection. И так далее.

База, состоящая из 35217 записей (в основном Москва, REGION=1), получилась 35 метров, в архиве 14. Это из-за того, что описания фирм там пространные, типа "мы, такие-то такие-то, ведущий производитель на мировом рынке"... Многовато по размеру, да. Но придумаю, куда выложить, и выложу.

Чтобы быть в курсе обновлений блога, можно подписаться на RSS.

Статьи схожей тематики:



6 комментариев:

  1. Для D2009 или где есть dbExpress... зацепиться к MySQL БД можно через компоненты dbExpress, для работы без визуальных компонентов достаточно TSQLConnection и SQLQuery, только обязательно нужна будет стандартная MySQL библиотека libmysql.dll. С уважением, Art.

    ОтветитьУдалить
  2. Art, спасибо за дополнение! Я до сих пор в D7 :)

    ОтветитьУдалить
  3. Такой вопрос.. если я в дальнейшем скопирую такую программу на другой компьютер, то она будет работать?

    ОтветитьУдалить
  4. Novomir, если просто скопируете, не настроив, - не будет. Чтобы работала - надо будет провести аналогичные настройки.

    ОтветитьУдалить
  5. Почему я невижу поля типа CHAR в SQL Explorer Delphi

    ОтветитьУдалить
  6. Спасибо! не сразу получилось с соединением, но потом нашел ошибку

    ОтветитьУдалить

Комментарии модерируются, вопросы не по теме удаляются, троллинг тоже.

К сожалению, у меня нет столько свободного времени, чтобы отвечать на все частные вопросы, так что, может, свой вопрос лучше задать на каком-нибудь форуме?

Поделиться