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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Драйвер базы данных в Qt 4  (Прочитано 15257 раз)
bai
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« Ответ #15 : Май 14, 2007, 23:31 »

Racheengel:

Цитировать

bai:
Да нет, просто драйвер необходимо пересобирать под конкретную версию MySql. При инсталляции это не проверяется.


Вот как раз при инсталляции, если в системе не установлен клиент соответствующей СУБД, устанавливается нужный клиент как зависимость.
Я имею ввиду установку из портов во FreeBSD.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #16 : Май 14, 2007, 23:41 »

Цитировать

устанавливается нужный клиент как зависимость


Цитировать

установку из портов


Не понял, честно говоря, о чем речь.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
bai
Новичок

Offline Offline

Сообщений: 12


Просмотр профиля
« Ответ #17 : Май 14, 2007, 23:49 »

Цитата: "Racheengel"
Цитировать

устанавливается нужный клиент как зависимость


Цитировать

установку из портов


Не понял, честно говоря, о чем речь.

Речь идет об установке софта, в частности Qt 4.2.3, из портов во FreeBSD
Записан
Karl-Philipp
Гость
« Ответ #18 : Май 15, 2007, 00:52 »

возможно я делаю что-то не так, но вот что у меня получается:

1. Создал директорию sql (D:\Qt projects\sql), в которой создал файл с кодом, приведенным мною выше.
2. Создал файл main.cpp и сохранил в директории sql.
3. С помощью MySQL создал базу, а в ней таблицу, затем скопировал их из директории c:\MySql\data\base\ директорию D:\Qt projects\sql.
4.создал файл проекта sqlproject c содержимым, описанным выше.
5. Выполнил следующие команды в консоли:

D:\Qt projects\sql>vsvars32
Setting environment for using Microsoft Visual Studio .NET tools.
(If you also have Visual C++ 6.0 installed and wish to use its tools
from the command line, run vcvars32.bat for Visual C++ 6.0.)

D:\Qt projects\sql>qmake -tp vc -o sqlproject.vcpro sqlproject.pro
D:\Qt projects\sql>

перешёл в VS, загружаю файл проекта sqlproject.vcpro, нажимаю F7, получаю логи:
------ Build started: Project: sqlproject, Configuration: Debug Win32 ------

Compiling...
main.cpp
Linking...

Build log was saved at "file://d:\Qt projects\sql\debug\BuildLog.htm"
sqlproject - 0 error(s), 0 warning(s)

---------------------- Done ----------------------
    Build: 1 succeeded, 0 failed, 0 skipped

6. Создал каталог sqldrivers в каталоге debug (D:\Qt projects\sql\debug, в котором появился ехе-шник).
Скопировал в каталог sqldrivers библиотеку qsqlmysql.dll, скомпилированную предварительно (см. сообщение выше).
7. Скопировал в каталог с ехе-шником (в debug) файл C:\mysql\lib\opt\libmySQL.dll

8. Запускаю ехе-шник и появляестя окошко "Database Error" с сообщением driver not loaded driver not loaded

Может чего начудил с каталогами? Или с самим проектом?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #19 : Май 15, 2007, 08:58 »

Попробуй сделай подкаталог типа bin, положи туда ехе и libmySQL.dll, в нем создай sqldrivers и туда qsqlmysql.dll.
И проследи, чтобы все собиралось либо чисто в релизе, либо чисто в дебуге. Потому что смотри - у тебя ехе по идее в дебаге собрано, а C:\mysql\lib\opt\libmySQL.dll - это релизная либа. Да и qsqlmysql.dll у тебя тоже сделана в релизе (дебажная будет еще d на конце иметь).
Попробуй примеры покомпились и позапускать, должно работать...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Karl-Philipp
Гость
« Ответ #20 : Май 15, 2007, 11:10 »

похоже я понял в чём проблема: вместо файла libmySQL.dll из директории C:\mysql\lib\opt\ использовал файл libmySQL.lib
Прошу прощения за невнимательность.
В директории C:\mysql\lib\opt\ был только файл libmySQL.lib, а как из него можно получить libmySQL.dll?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #21 : Май 15, 2007, 11:23 »

У меня и dll тоже там.
А еще в C:\mysql\bin\ копия лежит.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Karl-Philipp
Гость
« Ответ #22 : Май 15, 2007, 20:16 »

Racheengel,
спасибо большое за терпение и исчерпывающие ответы.
Мне удалось найти ошибку в файле имя_проекта.pro:

CONFIG += qt
QT += sql
SOURSES += main.cpp

я сделал ошибку, написав слово SOURSES вместо SOURСES

век живи, век учись...
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #23 : Май 15, 2007, 23:16 »

рад был помочь, хорошо что все ок.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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