минусплюс 0
22.11.2011 02:03 Обновлено: 18.05.2022 14:32
Lazarus + MySQL 5.1

Писал на форуме лазаруса, решил перенести сюда, а то уже несколько раз понадобилось мне это.

win 7 64, mysql server 5.5

Не решился я откатываться так далеко всё-таки аж на 5.0 версию и начал плясать с бубном над 5.1+Lazarus

У меня установлен 5.5 сервер. С сайта мускула скачал предыдущую версию:

http://www.mysql.com/downloads/mysql/5.1.html

уж очень не 5.0 там помечена уже как безнадёжно устаревшая.

Скачал лазарус отсюда: http://www.hu.freepascal.org/lazarus/

Этот: Lazarus-0.9.31-29986-fpc-2.4.3-20110323-win64.exe

Установил его и обнаружил, что там есть таки файлы исходников, содержащие в названии mysql51. Попытки собрать их не увенчались успехом… Уж не знаю почему Более того я нашёл в исходниках и что на палитре дожен быть компонент 51 и даже картинка там к нему есть, но его нет и всё. Сильно долго я не ковырялся. Пока решил проблему так:

libmysql из архива 5.1 кидаем в system32.

В uses программы ручками дописываем mysql51conn.

После чего делаем форму нужную но без коннектора. А коннектор создаём программно. В дизайн тайме теперь не поредактируешь базу, конечно, но зато работает всё, включая и навигатор и dbgrid.

В дизайн тайме можно воспользоваться ODBC.

Я именно так и делаю. Проблемы которые приносит с собой этот ODBC не страшны, т.к. в процессе программирования нам не так принципиально отсутствие русских букв и ещё кучка проблем

Инструкция: устанавливаем ODBC с сайта mysql

запускаем администратор источников данных ODBC под виндой

Добавляем туда драйвер. У меня так:

Имя | Драйвер

MySQL ODBC 5.1 Driver | MySQL ODBC 5.1 Driver

Кидаем на форму компонент ODBC

И хитро заполняем его:

1) указываем юзера и пароль

2) указываем в Driver и DatabaseName одинаковые значения: 'MySQL ODBC 5.1 Driver'

3) указываем хост

4) в параметрах (Params) пишем

И всё заводится и запросы выполняет. Только эта хрень ещё не поддерживает UsePrimaryKeyAsKey в компонентах запросов. Поэтому у SQLQuery1 делаем UsePrimaryKeyAsKey false. И всё работает в дизайн тайме

А программно можно её потом Free, чтобы не мешала и всё тут

Для верности вешаем это всё на создание формы.

Вот попробовал работает:

Так же позволю себе заявление, что скорее всего взятая отсюда: http://downloads.mysql.com/archives.php?p=mysql-5.0 дллка для 5.0 и скопированная в system32 скорее всего запустит и компонент 50 не смотря на версию сервера Пробовать не буду, т.к. там нет 64 битной версии

dtitog