Russian Qt Forum
Ноябрь 22, 2024, 20:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MySQL && QT 4  (Прочитано 10063 раз)
mipo
Гость
« : Август 25, 2005, 23:37 »

Замучался я уже соединять mysql 5 с QT 4.
У меня стоит visual studio 2003 с интегрированым QT 4,
пробовал вот так соединиться :
Код:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL3");
db.setHostName("192.168.1.61");
db.setDatabaseName("Ovation");
db.setUserName("root");
db.setPassword("655536");

if (db.open())
ui.textBrowser-append("OK");
else
ui.textBrowser-append(db.lastError().text());

на что QT отвечал Can't create TCP/IP socket (10093) QMYSQL: Unable to connect

Читал, что надо самому инсталлировать плагин или sql driver,
и даже попробовал сам это зделать используя ишодники open source версии,
но тогда стали появляться ошибки в qsql_mysql.cpp во время выполнения db.open()
Через ODBC могу соединиться с mysql, но мне нужно напрямую
Кто нибудь знает в чем дело ?
Может из-за того что использую mysql 5,который не совместим с 3 и 4 версией ?
Буду рад любой помощи.  Грустный
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Август 26, 2005, 10:26 »

начни с того
что поставь любой клиент mysql
и соеденись

и порт какой то странный
там типа 3306 порта
Записан
mipo
Гость
« Ответ #2 : Август 26, 2005, 13:19 »

Клиент у мея уже давно стоит и я уже работал с mysql используя mysql.h+libmysql.a
Если использовать старого клиента mysql, то server не позволяет соединитья,
то есть мне нужны другие dllьки. Если у кого получалось соединиться с mysql 5
через Qt 4 то отзовитесь
Записан
mipo
Гость
« Ответ #3 : Август 27, 2005, 04:38 »

Всё разобрался я с проблемой, если кому интересно,
то нужно перекомпилировать mysql plugin, по этому рецепту

You need to get the MySQL installation files. Run SETUP.EXE and choose "Custom Install". Install the "Libs & Include Files" Module. Build the plugin as follows (here it is assumed that MySQL is installed in C:\MYSQL):
    cd %QTDIR%\src\plugins\sqldrivers\mysql
    qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro
    nmake
If you are not using a Microsoft compiler, replace nmake with make in the line above.

исходники для этого нужны, а в QT evaluation версии их нет,
поэтому я их переташил их с open-source версии
и после компиляции получил  2 DLL файла (qsqlmysqld.dll, qsqlmysql.dll)
Если у кого нибудь не получиться то пишите.
Записан
oktogen
Гость
« Ответ #4 : Октябрь 10, 2005, 13:43 »

У меня собралось, но из программы (клиентской) Mysql драйверы изчезли вообще. Как такое лечить?
Записан
oktogen
Гость
« Ответ #5 : Октябрь 11, 2005, 12:20 »

Инструкция сборки.

Значит под виндами делается так:
Из <MYSQLDIR>\bin копируется в system32 файл
libmySQL.dll
Затем пересобирается сырец драйвера
для vc2003 включается командная строка в ней
1)
cd <QTDIT>\src\plugins\mysqldrivers\mysql
2)
qmake -o Makefile "INCLUDEPATH+=<mySQLDIR>\INCLUDE" "LIBS+=-L<mySQLDIR>\LIB\OPT -llibmysql" mysql.pro
3)
nmake
и все.

Далее
В директории приложении создается папка sqldrivers туда копируется dll
и все. прога работает автономно.
Записан
lepsai
Гость
« Ответ #6 : Октябрь 11, 2005, 17:18 »

Уходя - гасите всех - это ценится!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.169 секунд. Запросов: 23.