Наиболее вероятным объяснением этого является то, вероятно, что существует из-за несогласованности версии libmysql.dll вы используете и ваш DBX установки, в частности, его водителя для MySql , Для XE6, где я столкнулся с этой проблемой, глядя на вашу, причина в том, что версия libmysql.dll, которую я пыталась использовать, по-видимому, слишком недавняя для драйвера XE6 DBX; Правильно это или нет, описанные ниже шаги решают проблему для моего XE6.
(Читатели, отмечающие метку XE5 на q и отсутствие D7, могут обнаружить, что их мышь подергивается к кнопке -1, когда они сначала видят, что это в основном о D7. Однако многие из текущих SO Delphi qs от пользователей D7, и я уверен, что я не единственный, кто когда-либо столкнется с проблемой ретро-установки mySql в DBX в D7, кто-то, более знакомый с mySql, вероятно, скажет, что они слишком переполнены только для XE5/6.)
Это Q вдохновило меня на то, чтобы попробовать получить mySql, работающий с D7 и XE6, без каких-либо знаний об этом.
Что касается D7, вскоре выяснилось, что я создал проблему для себя , не получая копию libMySql.dll, когда D7 был 14 лет назад. Я также нашел сообщение в новостных группах EMBA от Куинн Вильдман из EMBA о проблеме с XE6 и последними версиями DLL, заявив, что OP в этом случае имел слишком недавнюю версию DLL.
Моя первая попытка установки mySql - в основном путем установки копии текущего mySqll Workbench - казалось, подтвердила, что сказал QW; Я не мог открыть TSqlConnection в D7 или XE6, используя версию libmysql, которая поставляется вместе с ней. К счастью, на моем сайте mySql есть архив, и я нашел и установил более раннюю версию Workbench 5.0.18, в которой была версия libmySql.dll 2006 года. Кстати, я нашел эту более раннюю версию Workbench почти непостижимой для использования, в отличие от текущий, но это уже другая история).
Получение и установка libmysq.dll, который поставляется с менее поздней версией WB, например 5.0.18, вероятно, это все, что необходимо для отката с слишком поздней версии, чтобы заставить его работать с XE5 или 6.
Получение работы с D7 оказалось значительно сложнее, поскольку D7 не поддерживал v5.x mySql из коробки. К счастью, есть сайт с драйвером V5 DBX для D7. но даже оснащенный этим, было еще немного производительности, чтобы получить v5.x of mySql, работающий с D7. Я смею сказать, что кто-то, знакомый с mySql, может знать более простой способ, но по крайней мере метод ниже работал.
Начиная с MySql полностью неустановленных от моей 64-битной машине Win7, после ранее неудачных попыток, и все вещи MySql ниже C: \ Users [...] удален (включая любые файлы базы данных MYSQL):
a) Перейдите на страницу http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html и загрузите файлы почтовых файлов источника и dll. Вам нужны файлы ini в исходном zip-файле.
b) Откройте исходный zip и следуйте инструкциям в файле dbxdrivers.ini, чтобы скопировать настройки драйвера в файл ini с тем же именем в папке \ Shared \ DBExpress в каталоге установки Delphi 7. Не забудьте добавить имя драйвера в список вверху файла dbxdrivers.ini.
с) Точно так же редактировать содержимое dbxconnections.ini из исходного почтового индекса в одном в [...] \ Shared \ DBEXPRESS
Перейти к www.Mysql.com, если вы создаете учетную запись не делайте это. Скачать текущую версию MySql Workbench (6.1 для MySql на 22 июл 2014 Перейдите на вкладку архив и загрузить Workbench версии 5.0.18.
Установите более раннюю версии 5.0.18 версию Workbench
Make копию libmysql.dll из папки 5.0.18 в файлах программ (x86) \ MySql где-то в другом месте, потому что следующий шаг удалит оригинал там (!)
Установите более позднюю версию Workbench и, если MySql hasn Ранее не было установлено , дайте мастеру установщика установить новый локальный сервер. Установите пароль root и создайте учетную запись пользователя. Я позвонил мне.
Используйте окно Sql Script в инструментальных средствах для создания тестовой базы данных, я использовал MATestDB как имя, потому что уже было один называется «тест», а также создать таблицу в нем и добавить несколько строк.
Копия dbxopenmysql50.dll из длл молнии в шаге 1 каталог Borland Shared \ DBEXPRESS упомянутого в пункте 1
Перейти к каталогу Shared \ DBEXPRESS и редактировать два ини файлы, так что база данных, имя пользователя и пароль соответствуют тем, которые указаны в шагах 5 и 6.
В D7 IDE создайте новый проект и добавьте TSqlConnection в свою основную форму. Убедитесь, что для свойства Connected установлено значение True.
Сохранить проект в новую папку и скопируйте в нее
- libmysql.dll спас от шага 4
- dbxopenmysql50, DLL из длла архива в шаге 1
- два ини файлов [...] \ Shared \ DBExpress
Повторите шаги 9 и 10 для XE6.
mySql для D7 и XE6 теперь должен быть настроен.
Что вы подразумеваете под «моим локальным SQL-сервером»? Экземпляр MySQL? Или экземпляр Microsoft SQL Server? Если это первый, то удалите тег sql-server. – VMai
http://docwiki.embarcadero.com/RADStudio/XE5/en/Populate_Main_Dialog_with_Components_%28dbExpress_Tutorial%29 В конечном итоге вам захочется уйти от не визуальных компонентов на основе форм, но это должно вас начать. –
@vmai отредактировал. Простите, потребовалось время. Мой ip был заблокирован почему-то – Eszee