Delphi - MySQL Best Data осведомленные компоненты для использования - PullRequest
3 голосов
/ 23 апреля 2010

Мне нужно, чтобы мое приложение подключалось к базе данных MySQL моего веб-сервера, что является лучшим вариантом для этого. Perfered Data осведомленный компонент.

Я пробовал zeos 7, но постоянно получаю сообщение об ошибке: Ошибка SQL: клиент не поддерживает протокол аутентификации, запрошенный сервером; рассмотрите возможность обновления клиента MySQL и не смогли его исправить.

Спасибо

-Brad

Ответы [ 5 ]

8 голосов
/ 23 апреля 2010

@ Брэд: компоненты ZEOS являются отличной альтернативой для подключения к MySQL, у вас есть эта ошибка, потому что вы используете старую версию клиента MySQL.MySql 4.1 представляет новый алгоритм хеширования паролей, для решения этой проблемы у вас есть 2 варианта.

1) Измените ваш клиент MySQL, чтобы использовать 4.1.1 или более новую клиентскую библиотеку.

2) используйтефункция OLD_PASSWORD

, вы должны запустить этот скрипт на вашем сервере MySQL.

SET PASSWORD FOR 'user' = OLD_PASSWORD('password');
FLUSH PRIVILEGES;

проверьте эту ссылку для получения дополнительной информации

Хеширование пароля в MySQL

6 голосов
/ 23 апреля 2010

Попробуйте AnyDAC , он предлагает отличную поддержку MySQL, среди других поддерживаемых СУБД. Основные характеристики:

  • Высокая скорость.
  • Обычные и встроенные серверы.
  • SSL-соединения.
  • Полный спектр типов данных, включая ENUM, SET.
  • Кодировки символов UTF8 и ANSI.
  • AUTO_INCREMENT столбцы.
  • Полная поддержка хранимых процедур MySQL 5.
  • Пакетные команды с несколькими наборами результатов.
  • Выполнение запроса прерывается.
2 голосов
/ 23 апреля 2010

Не уверен, что это лучше, но я использовал компоненты ADO (TADOQuery, TADOConnection ... Посмотрите в палитре dbGo) с успехом во многих проектах Delphi в прошлом для подключения к MySQL. Это "бесплатно", поскольку оно уже связано с Delphi.

Кстати, ваш веб-хост должен разрешать "чужие" соединения (не только через "localhost") со своим сервером MySQL.

Существует также Компоненты прямого доступа MicroOLAP MySQL Delphi , стоимость которых не превышает 300 долл. США.

1 голос
/ 23 апреля 2010

Из ваших тегов сообщений я предполагаю, что вы используете Delphi 2009. DbExpress прошел долгий путь и идет с Delphi. В эти дни в Интернете есть большая поддержка для этого. Если вы не используете Delphi 2009, DbX доступен с версии 6.

Я думаю, что версия DbX для Delphi 2009 поддерживает MySQL 5.0. Если нет, вам нужен обновленный драйвер DbX. Вы можете получить драйвер с открытым исходным кодом здесь.

http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html

1 голос
/ 23 апреля 2010

Я бы порекомендовал MyDac от Devart (ранее известный как Core Lab).

Также ознакомьтесь с их UniDac решением для нескольких баз данных.

...