Russian Qt Forum

Qt => Базы данных => Тема начата: Dzeto от Ноябрь 19, 2013, 19:13



Название: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 19, 2013, 19:13
Здравствуйте. Помогите разобраться как можно организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010.
 
Чтобы работала подобная связка:

#include "MyClass.h"
#include "QSqlDatabase"

MyClass::MyClass(QWidget *parent, Qt::WFlags flags)
   : QMainWindow(parent, flags)
{
ui.setupUi(this);

QSqlDatabase db = QsqlDatabase::addDatabase("???"); //Как добыть драйвер
db.setHostName("???");
db.setDatabaseName("???");
db.setUserName("SYSDBA");
db.setPassword("masterkey");
bool ok = db.open();
}

Если можно, то избыточно подробно и по пунктам, с минимальными ссылками на другие источники, а так же в максимально понятной для неопытного новичка форме. Огромное спасибо тем, кто откликнется, если таковые будут:)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: lesav от Ноябрь 19, 2013, 22:50
  Тут   (http://ru.opensuse.org/QT_%D0%B8_%D0%91%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85) есть все ответы.

Код:
# Для сборки SQL драйвера Firebird, необходимо добавить в файл
# Qt5    ./5.0.0/Src/qtbase/src/plugins/sqldrivers/ibase/ibase.pro
# Qt4    ./src/plugins/sqldrivers/ibase/ibase.pro
# две следующие строчки (добавлять в конец файла)

INCLUDEPATH +="c:/Program Files/Firebird/Firebird_2_5/include"
LIBS        +=-L"c:/Program Files/Firebird/Firebird_2_5/lib" -lfbclient_ms

# и скомпилировать

# Полученные драйверы могут оказаться в корне диска dsk:/plugins/sqldrivers
# Или в $QT_DIR/plugins/sqldrivers


Windows:  fbclient.dll  положить в Windows/system32 или рядом с exeшником
Unix:  нужно сделать линк на libclient.so.2  в /usr/lib


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 20, 2013, 20:50
1) Выяснил, что *.pro файлы открываются и пересобираются с помощью QtCreator.
2) Скачал вот такую штуку: qt-windows-opensource-5.1.1-msvc2010-x86-offline.exe
3) Добавил строки, надеюсь, правильные.
Сборка не произошла... Понятия не имею в чем проблема:(


 (http://imglink.ru/thumbnails/20-11-13/a92c63283909d4b48b99ab90b0a47ea1.jpg) (http://imglink.ru/show-image.php?id=535dffa5187ca86411fe8fc23a1d250b)
 (http://imglink.ru/thumbnails/20-11-13/a13450ee46044219c70846ebd4f84807.jpg) (http://imglink.ru/show-image.php?id=1a42f6083fdd8cc05fdae8985f6bfa20)

Полный текст "консоли сборки":


21:29:51: Выполняются этапы для проекта ibase...
21:29:51: Запускается: «C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\qmake.exe» C:\Qt\4.8.4\src\plugins\sqldrivers\ibase\ibase.pro -r -spec win32-msvc2010 "CONFIG+=debug" "CONFIG+=declarative_debug" "CONFIG+=qml_debug"
Project WARNING: qmake spec does not announce the compiler family. Guessed msvc.
21:29:51: Процесс «C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\qmake.exe» завершился успешно.
21:29:51: Запускается: «C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe»
   C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
   cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtCore" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtSql" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include" -I"C:\Program Files\Firebird\Firebird_2_5\include" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\ActiveQt" -I"debug" -I"..\ibase" -I"." -I"..\..\..\..\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\---\AppData\Local\Temp\main.obj.10888.16.jom
"cl" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
jom: C:\Qt\4.8.4\src\plugins\sqldrivers\build-ibase-Desktop_Qt_5_1_1_MSVC2010_32bit-Debug\Makefile.Debug [debug\main.obj] Error 1
   cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtCore" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtSql" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include" -I"C:\Program Files\Firebird\Firebird_2_5\include" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\ActiveQt" -I"debug" -I"..\ibase" -I"." -I"..\..\..\..\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\---\AppData\Local\Temp\qsql_ibase.obj.10888.32.jom
"cl" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
   C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtCore" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtSql" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include" -I"C:\Program Files\Firebird\Firebird_2_5\include" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\ActiveQt" -I"debug" -I"..\ibase" -I"." -I"..\..\..\..\mkspecs\win32-msvc2010" -D_MSC_VER=1600 -DWIN32 ..\..\..\sql\drivers\ibase\qsql_ibase.h -o debug\moc_qsql_ibase.cpp
   rc -D_DEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -fo debug\qsqlibased_resource.res qsqlibased_resource.rc
"rc" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
jom: C:\Qt\4.8.4\src\plugins\sqldrivers\build-ibase-Desktop_Qt_5_1_1_MSVC2010_32bit-Debug\Makefile.Debug [debug\qsql_ibase.obj] Error 1
jom: C:\Qt\4.8.4\src\plugins\sqldrivers\build-ibase-Desktop_Qt_5_1_1_MSVC2010_32bit-Debug\Makefile.Debug [debug\qsqlibased_resource.res] Error 1


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: alex312 от Ноябрь 21, 2013, 17:10
Dzeto, а компилятор то у тебя от Visual Studio Установлен ?
покажи скрин настроек с компиляторами. (как на твоей второй картинке, только вкладку "Компиляторы")


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 21, 2013, 19:36
Выкладываю все, включая настройки:
В главном окне при нажатии "Собрать проект" Ctrl+B
 (http://imglink.ru/thumbnails/21-11-13/de3d6a4540db826af49e34f793c1db8a.jpg) (http://imglink.ru/show-image.php?id=b8942d4ac0df3e2f055c226a8798540d)
Основное  
 (http://imglink.ru/thumbnails/21-11-13/b138bc7625970bbcdda8b82b249c934d.jpg) (http://imglink.ru/show-image.php?id=b3c819aeaa3b0d1fa9eee6f103d1d6a4)
Комплекты
 (http://imglink.ru/thumbnails/21-11-13/c2f83560846a8a08884bed982396562a.jpg) (http://imglink.ru/show-image.php?id=7ecf9fae4ef5cfd47f5c8c171df80c58)
Профили
 (http://imglink.ru/thumbnails/21-11-13/9cd82cfdb77ba6716781c6d95b030596.jpg) (http://imglink.ru/show-image.php?id=fe5d49ad8f553a0a91ac0c5e2bc65ee4)
Компиляторы
 (http://imglink.ru/thumbnails/21-11-13/add2fdc9d33ebfe2e4d9b31e3190ea36.jpg) (http://imglink.ru/show-image.php?id=660eeeafe4f8da8ca53937af5dd9abd5)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: alex312 от Ноябрь 21, 2013, 19:49
Блин, выглядит все правильно.

Попробуй создать новый проект, и скомпилируй его.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 21, 2013, 20:01
Вроде никаких ошибок в директориях и именах файлов я не сделал.
Если вдруг как-то поможет, то(мало ли что-то не так):
В папке c:\Qt\4.8.4\src\plugins\sqldrivers\ibase\ у меня три файла ibase.pro, main.cpp, ibase.pro.user.
В c:\Program Files\Firebird\Firebird_2_5\include\ пять - ib_ulit.h ibase.h iberror.h perf.h ib_util.pas
c:/Program Files/Firebird/Firebird_2_5/lib/fbclient_ms.lib существует.

Сам уже перерыл море тем. Может не доходит до меня что-то... Вся надежда на специалистов


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 21, 2013, 20:06
Эм.. новый проект создать не вышло. Qt Creator'ом пользуюсь первый раз и скачать его пришлось только для того, чтобы собрать драйвер. Можно в мягкой форме, никуда и ни к кому не посылая пояснить что скорее всего я не так сделал?)
 (http://imglink.ru/thumbnails/21-11-13/37fccc8d25a0f5ecb4f2a6fc6e280367.jpg) (http://imglink.ru/show-image.php?id=061e4a7c18ef44cc2486deca4d4ab82e)


Не надо ли этот "jom" менять на qmake - чтобы они там не значили?\\


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 21, 2013, 20:19
"cl" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.

В переводе с туркменского это должно означать:

Цитировать
"cl" н­е является в­нутренн­­ей или в­неш­ней
командой, исполн­яемой программой или пакетн­ым файлом."

Дальше нужен хелп?  ;)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 01:03
Да, нужен хелп... Установил MSVC2010 в папку без русских символов - это не помогло. Был бы признателен за подсказки что можно (нужно) еще сделать\\


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 01:51
Если проблема может быть связана с Path, то у меня:
Path - "C:\Qt\4.8.4\bin;"
QTDIR - "c:\Qt\4.8.4\"


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 07:33
Если проблема может быть связана с Path, то у меня:
Path - "C:\Qt\4.8.4\bin;"
QTDIR - "c:\Qt\4.8.4\"

С вижуал Ц не работал, но подозреваю, что "cl" - это его компилятор.
Возможно путь к нему тоже должен быть прописан в переменной окружения PATH.

То же касается утилиты "rc" - она тоже не находится, судя по логу.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 09:28
cl.exe находится по адресу "c:\MyProgram\MSVC2010\VC\bin\cl.exe"
В Path занес такую строчку "c:\Qt\4.8.4\bin; c:\MyProgram\MSVC2010\VC\bin;"
 (http://imglink.ru/thumbnails/22-11-13/49fa397acaabeea2f0c265cb018fc349.jpg) (http://imglink.ru/show-image.php?id=82d48813c626b3c562b511274c745993)
Проблема осталась\\


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 09:34
Ну так cl все одно не находится.
Давай так, вызывай cmd.exe и копипасти сюда вывод команды PATH.

А вообще, желательно попробовать сперва без Qt, просто из командной строки попробовать с помощью VC откомпилировать простейший пример. Ну а потом уже запускать Qt Creator.

Выше lesav давал линк (http://ru.opensuse.org/QT_%D0%B8_%D0%91%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85) - как собирать все из командной строки. Пробуй как там написано, это будет и быстрее, и нагляднее.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 09:49
 (http://imglink.ru/thumbnails/22-11-13/8eeef5e76fee58e818f583019dc9903b.jpg) (http://imglink.ru/show-image.php?id=36243eefc070cdda927a26f416647a22)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 10:13
Я в ступоре! :P А где остальное, где каталоги винды ???

Вот мой вывод, но я пользуюсь MinGW:
Код:
Far Manager, version 3.0 (build 3367) x64
Copyright c 1996-2000 Eugene Roshal, Copyright c 2000-2013 Far Group

C:\>path
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Tools\Perl\c\bin;C:\Tools\Perl\perl\site\bin;C:\Tools\Perl\perl\bin;C:\Tools\Ruby\bin;C:\Tools\Python;C:\Tools\Git\cmd;C:\Tools\CMake\bin

А в оболочке дополнительно добавляются:

(http://i59.fastpic.ru/big/2013/1122/11/97c19bdc075c95e2021d6e033aa93611.png)

Где у меня,

C:\Qt5\Dll-x64 - мои вспомогательные библиотеки (x64)

iconv.dll
icudt51.dll
icuin51.dll
icuio51.dll
icule51.dll
iculx51.dll
icutest51.dll
icutu51.dll
icuuc51.dll
libeay32.dll
libintl-8.dll
libpq.dll
libxml2.dll
libxslt.dll
ssleay32.dll
zlib1.dll

C:\Qt5\Qt-x64 - собранное из сорцов
C:\Qt5\Qt-x64\lib - тоже, каталог с либами
C:\Qt5\Qt-x64\bin - тоже, каталог с тулзами
C:\Tools\mingw64\bin - компилятор MinGW

Ну вот как-то так.



Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Bepec от Ноябрь 22, 2013, 10:54
ну чтоб все переменные среды увидеть, надо не "path", а "set" набирать в винде.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 11:09
ну чтоб все переменные среды увидеть, надо не "path", а "set" набирать в винде.

Ну эт понятно, но за поиск "cl.exe" отвечает именно PATH


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: alex312 от Ноябрь 22, 2013, 11:42
Ну эт понятно, но за поиск "cl.exe" отвечает именно PATH
Visual Studio после установки не изменяет переменную среды PATH.
Эта переменная изменяется непосредственно перед компилированием вызовом батника vcvarsall.bat c параметрами, который и настраивает нужные переменные окружения для компиляции.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 11:49
cl.exe находится по адресу "c:\MyProgram\MSVC2010\VC\bin\cl.exe"

На скрине выше в настройках "Компиляторы" идет D:\Программы ....


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 11:51
Ну эт понятно, но за поиск "cl.exe" отвечает именно PATH
Visual Studio после установки не изменяет переменную среды PATH.
Эта переменная изменяется непосредственно перед компилированием вызовом батника vcvarsall.bat c параметрами, который и настраивает нужные переменные окружения для компиляции.

Имеет смысл подредактировать этот батник - вставить что-то типа PATH > C:\Temp\1 , просто чтобы посмотреть как настраивается окружение для процесса компиляции


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 12:44
cl.exe находится по адресу "c:\MyProgram\MSVC2010\VC\bin\cl.exe"

На скрине выше в настройках "Компиляторы" идет D:\Программы ....

Да, нужен хелп... Установил MSVC2010 в папку без русских символов - это не помогло. Был бы признателен за подсказки что можно (нужно) еще сделать\\

Извините, что на Вас сваливаю всю интеллектуальную задачу, но все же - что у меня с Path не так и как это можно (нужно) поправить? Только максимально подробно, пожалуйста, а то я уже мозг надорвал, т.к. никогда прежде с этим не сталкивался.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 13:17
Извините, что на Вас сваливаю всю интеллектуальную задачу, но все же - что у меня с Path не так и как это можно (нужно) поправить? Только максимально подробно, пожалуйста, а то я уже мозг надорвал, т.к. никогда прежде с этим не сталкивался.

Я бы сделал так:

1 ) Приведение системной переменной PATH в надлежащий вид (Win+Break, Свойства, Переменные Среды), чтобы были в ней обязательно - С:\Windows\system32;C:\Windows;C:\Windows\system32\wbem;

2 ) Полная деинсталляция всего (VC, Qt), удаление оставшихся каталогов, чистка реестра с помощью CCleaner (http://www.piriform.com/ccleaner)

3 ) Установка в C:\Tools\MSVC2010 - вижуала цэ

4 ) mkdir C:\Projects

5 ) Сборка и запуск тестового примера в VC - проекты ложите в C:\Projects\<пример> , пока не собирается, дальше не двигайтесь

6 ) Установка Qt в C:\Qt

7 ) Запуск Qt Creator и его настройка - Инструменты->Параметры->Сборка и запуск : "Компиляторы", "Профили Qt" потом "Комплекты"

8 ) Новый проект

ЗЫ: С VC дело не имел - знающие дополните/поправьте, плс


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 13:19
И еще ... не путайте комплекты Qt 4.x с Qt 5.x ... Если есть желание работать с новым Qt Creator'ом - его нужно выкачать отдельно и поставить. Это так, на всякий случай заметочка.

Потому как в теме Qt 4.8.4 ... а в логах - "21:29:51: Процесс «C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\qmake.exe» завершился успешно."


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 13:28
Ура! Восстановил старую Path
Спасибо огромное за советы менял ее с пол года назад - все работало и забыл... дописал
"C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\"
и что-то начало работать.

При сборке ibase.pro выдало:
 (http://imglink.ru/thumbnails/22-11-13/d03a322a1debaa2a4e4d40c4d4809c8f.jpg) (http://imglink.ru/show-image.php?id=84e02ec80fb38287b881c668b337d746)
Гугл выдал, что это что-то вроде библиотеки для FireBird 1.5 и ниже. Как понял вместо нее у меня сейчас fbclient_ms.lib. Что можно сделать, чтобы заработало(желательно на 2.5)?

Простейший пример "пустого" приложения собирается и запускается в Creator'e, а вот запуск exe не из Creator'a выдает ошибку:
 (http://imglink.ru/thumbnails/22-11-13/0060b940d231db18f387a9f3ce7ccdfa.jpg) (http://imglink.ru/show-image.php?id=97316d116624fe01c10ef0da1f554d42)
Рискну предположить, что это из-за того, что Creator Qt 5.1.1, а виндой используются библиотеки Qt 4.8.4 (т.е. в QTDIR прописан путь к Qt4). Для того, чтобы собрался ibase мне надо будет качать creator с Qt4 или прокатит и так? Или вообще ерунду говорю?)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 13:29
Ваши два сообщения опередили мое)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 13:35
Скачал, установил, настроил Creator Qt 4.*. "Пустое приложение" собралось и запускается не из Creator'a. Все хорошо. А вот про ibase все еще актуально


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 13:42
Драйвера БД собираются для той сборки Qt, которую будешь использовать в написании проги.
Если нужно именно под Qt 4.8.4 - то устанавливай именно ее и больше ниче не надо, иначе запутаешься.
А уж потом отдельно последнюю версию QtCreator'а, если собираешься пользоваться им.

Оффтоп: а зачем собственно VC? В поставке есть MinGW, работает все "из коробки".


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 13:47
Драйвера БД собираются для той сборки Qt, которую будешь использовать в написании проги.
Если нужно именно под Qt 4.8.4 - то устанавливай именно ее и больше ниче не надо, иначе запутаешься.
А уж потом отдельно последнюю версию QtCreator'а, если собираешься пользоваться им.

Оффтоп: а зачем собственно VC? В поставке есть MinGW, работает все "из коробки".

Понял Вас. К сожалению, от моего мнения тут ничего не зависит. Научный руководитель сказал писать в VC10 под Qt4.8.4 и уехал в командировку.
FireBird можно использовать 1.5, но хочется уже добить для 2.5. Можете мне в этом помочь?


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 13:56
Понял Вас. К сожалению, от моего мнения тут ничего не зависит. Научный руководитель сказал писать в VC10 под Qt4.8.4 и уехал в командировку.
FireBird можно использовать 1.5, но хочется уже добить для 2.5. Можете мне в этом помочь?

Сорь. Уже дальше сам. Как совет - не парься, делай ровно то, что "заказали". Просто сделай это хорошо.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 14:36
UP. Проблема актуальна.

Не удается открыть файл gds32_ms.lib

При сборке ibase.pro выдало:
 (http://imglink.ru/thumbnails/22-11-13/d03a322a1debaa2a4e4d40c4d4809c8f.jpg) (http://imglink.ru/show-image.php?id=84e02ec80fb38287b881c668b337d746)
Гугл выдал, что это что-то вроде библиотеки для FireBird 1.5 и ниже. Как понял вместо нее у меня сейчас fbclient_ms.lib. Что можно сделать, чтобы заработало на 2.5?


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 14:48
google! (http://g.zeos.in/?q=gds32_ms.lib) -> http://www.prog.org.ru/topic_1983_0.html


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 16:05
google! (http://g.zeos.in/?q=gds32_ms.lib) -> http://www.prog.org.ru/topic_1983_0.html

 (http://imglink.ru/thumbnails/22-11-13/9d2a7d73f9821693aa53093ac9d5cf79.jpg) (http://imglink.ru/show-image.php?id=9aad45b95d9f107e013584214745c40f)
Т.е. код с этой картинки надо заменить на что-то вроде: "win32 { LIBS *= -lfbclient_ms }"? Тогда начинает выдавать точно такую же ошибку, только не может найти уже файл fbclient_ms.lib.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 16:15
google! (http://g.zeos.in/?q=gds32_ms.lib) -> http://www.prog.org.ru/topic_1983_0.html

 (http://imglink.ru/thumbnails/22-11-13/9d2a7d73f9821693aa53093ac9d5cf79.jpg) (http://imglink.ru/show-image.php?id=9aad45b95d9f107e013584214745c40f)
Т.е. код с этой картинки надо заменить на что-то вроде: "win32 { LIBS *= -lfbclient_ms }"? Тогда начинает выдавать точно такую же ошибку, только не может найти уже файл fbclient_ms.lib.

Гугли, разбирайся. У мну нет VS. Сорь.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 16:31
Гугли, разбирайся. У мну нет VS. Сорь.

Благодарю за помощь. Дело и так хорошо продвинулось.

Может быть кто-то еще знает как решить проблему? (возможна ли связь с разрядностью системы?)

Установил FireBird 1.5 x64. Поменял все пути. Все равно не находит fbclient_ms.lib


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Bepec от Ноябрь 22, 2013, 16:33
Выкинуть QtCreator.
Взять VS2010.
Установить QtAddin.
Открыть ваш проект и скомпилировать всё что надо.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 16:37
Выкинуть QtCreator.
Взять VS2010.
Установить QtAddin.
Открыть ваш проект и скомпилировать всё что надо.

Я был бы рад, если бы вы расписали все подробно. QtAddin и так установлен. Как поправить на нем ibase.pro?


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: alex312 от Ноябрь 22, 2013, 17:44
Я был бы рад, если бы вы расписали все подробно. QtAddin и так установлен. Как поправить на нем ibase.pro?
http://www.prog.org.ru/topic_765_195.html
Берешь хоть Бланшета, хоть Шлее. Читаешь вводную главу, потом про динамические библиотеки и расширения. Потом вопросы.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 18:08
Я был бы рад, если бы вы расписали все подробно. QtAddin и так установлен. Как поправить на нем ibase.pro?
http://www.prog.org.ru/topic_765_195.html
Берешь хоть Бланшета, хоть Шлее. Читаешь вводную главу, потом про динамические библиотеки и расширения. Потом вопросы.

Я конечно сел читать... Но перед тем, как я осилю 400 страниц информации (которая мне нужна, чтобы сделать плагин, написать с его помощью несколько строк кода, а потом забыть) можно и я Вам вопрос задам? Вы знаете в чем суть дела или просто посоветовали мне книжек?
Я же обратился к специалистам за помощью, т.е. к тем, кто реально работает в этой сфере и кто может дать дельный быстрый совет, какой дал бы я, если бы подобная тема затрагивала "мою сферу". В общем то извините - тяжелый день.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Bepec от Ноябрь 22, 2013, 18:19
Если очень очень надо, то я могу попробовать помочь.

PS достаточно отписать в теме что оч оч надо :D Ну и дать ссылки, по которым вы всё качали.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 18:48
Если очень очень надо, то я могу попробовать помочь.

PS достаточно отписать в теме что оч оч надо :D Ну и дать ссылки, по которым вы всё качали.

Очень очень надо:)

1) qt-creator-windows-opensource-2.8.1.exe скачал с    http://qt-project.org/downloads
2) MSVC2010 установил с помощью "vs_ultimateweb.exe" не знаю откуда скачал. Сама подгружает все и устанавливает.
3) Firebird-2.5.2.26540_0_x64.exe c     http://www.firebirdsql.org/en/server-packages/#Win32
3.1) Firebird-1.5.6.5026-0-Win32.exe пробовал ставить с того же сайта.
4) qt-win-opensource-4.8.4-vs2010.exe и qt-vs-addin-1.1.11-opensource.exe были у меня по умолчанию (последнее, думаю, тут не нужно)

 (http://imglink.ru/thumbnails/22-11-13/a9126225fc75f2d225749800ce0eb8d0.jpg) (http://imglink.ru/show-image.php?id=44ad6eff5efbac7e320affecce4f29b1)
По ошибке ощущение, что где-то надо поменять имена с gds_ms.lib на fbclient_ms.lib или наоборот.
Еще есть назойливая мысль, что x64 или x32 где-то как-то подводят.

 


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 18:55
Еще есть назойливая мысль, что x64 или x32 где-то как-то подводят.

Если FireBird хочется x64, то и плагин и сборка Qt должны быть x64.
Поскольку у тя поставка Qt x32, то про FireBird x64 - забыть.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: alex312 от Ноябрь 22, 2013, 18:58
1. файл ibase.pro
Код:
TARGET = qsqlibase

SOURCES = main.cpp
include(../../../sql/drivers/ibase/qsql_ibase.pri)

include(../qsqldriverbase.pri)

INCLUDEPATH += "c:/Program Files (x86)/Firebird/Firebird_2_5/include"
LIBS        += -L"c:/Program Files (x86)/Firebird/Firebird_2_5/lib"
LIBS        += -lfbclient_ms -lib_util_ms
2. файл qsql_ibase.pri
Код:
HEADERS += $$PWD/qsql_ibase.h
SOURCES += $$PWD/qsql_ibase.cpp

unix {
    !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds
} else {
#    !contains(LIBS, .*gds.*):!contains(LIBS, *fbclient*) {
#        win32-borland:LIBS += gds32.lib
#        else:LIBS += -lgds32_ms
#    }
}
3. меню Сборка->Запустить qmake
4. меню Сборка->Пересобрать проект <<ibase>>

Версия Firebird должна быть 32-битная

PS Dzeto, что за специальность ?


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Kurles от Ноябрь 22, 2013, 19:38
Еще есть назойливая мысль, что x64 или x32 где-то как-то подводят.

Если FireBird хочется x64, то и плагин и сборка Qt должны быть x64.
Поскольку у тя поставка Qt x32, то про FireBird x64 - забыть.
Ну почему же - можно скомпилировать драйвер, используя x86 библиотеки, а подключаться к x64 файрберду )


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 19:50
1. файл ibase.pro
2. файл qsql_ibase.pri
3. меню Сборка->Запустить qmake
4. меню Сборка->Пересобрать проект <<ibase>>

Версия Firebird должна быть 32-битная

PS Dzeto, что за специальность ?
Еще есть назойливая мысль, что x64 или x32 где-то как-то подводят.

Если FireBird хочется x64, то и плагин и сборка Qt должны быть x64.
Поскольку у тя поставка Qt x32, то про FireBird x64 - забыть.

Установил FB 2.5 [x32]. alex312, использовал ваш код. Все собралось... Выдохнул.

Большое спасибо всем, кто помогал, а особенно Majestio, alex312, Bepec.

Осталось только несколько организационных вопросов:
 (http://imglink.ru/thumbnails/22-11-13/e9bf43c47c46ab983daaa9316b356fcf.jpg) (http://imglink.ru/show-image.php?id=6ba9424e5d400f4a182f72fec181e941)
Вот эту dll (я же надеюсь, что именно эту?) надо скинуть в корень с проектом, в котором хочу использовать БД или в "c:\Windows" можно?
Надо ли ее переименовывать?

P.S. Информационные системы и технологии. ВятГУ.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 19:57
Ну почему же - можно скомпилировать драйвер, используя x86 библиотеки, а подключаться к x64 файрберду )

Скажу про PostgreSQL, думаю с FireBird та же песня. Драйвер использует dll-ку от установленной БД, в случае c PostgreSQL - это libpq.dll (я его спецом из сорцов собирал в 2-х вариантах - x32 и x64). Для собранного приложение x32, нужен драйвер x32, и эта же dll-ка - x32, тогда можно. Но если на компе dll-ка только x64, та что с x64 инсталляцией, то для x32 - не заработает. Если только драйвер не будет самодостаточен, в чем сомневаюсь.

О подключении работающего клиента к БД - разговор не идет.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 20:02
Вот эту dll (я же надеюсь, что именно эту?) надо скинуть в корень с проектом, в котором хочу использовать БД или в "c:\Windows" можно?
Надо ли ее переименовывать?

Драйвера ложатся в :
<каталог выполняемого файла>/plugins/sqldrivers
Если есть сопутствующие dll-kи от БД - либо рядом с exe, либо в системный каталог винды

и еще ....

Обычно делают 2 версии драйвера: для отладки и для релиза


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 20:09
Обычно делают 2 версии драйвера: для отладки и для релиза

Уже вычитал что-то про make release. Так понял, что это и есть "команда" для создания релизной dll. Но не могу найти как ее применить


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 20:19
Уже вычитал что-то про make release. Так понял, что это и есть "команда" для создания релизной dll. Но не могу найти как ее применить

В Qt Creator'е слева, чуть выше зеленой стрелки выбирается тип сборки (отладка или выпуск).


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 21:20
Код в MSVC2010:
Код:
#include "testbd.h"
#include "QSqlDatabase"
#include "QSqlError"
#include "QtSql"

TestBD::TestBD(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);

QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
db.setHostName("bigblue");
db.setDatabaseName("flightdb");
db.setUserName("acarlson");
db.setPassword("1uTbSbAs");
bool ok = db.open();
if(!ok)
{
QString str = db.lastError().text();
}
}

Что содержится в str = db.lastError().text()
 (http://imglink.ru/thumbnails/22-11-13/4d1b4e34d186979a944c8988360e05aa.jpg) (http://imglink.ru/show-image.php?id=33f6068ff1aac209431c830aca11a58c)

Кинул qsqlibase4.dll в "d:\TestBD\TestBD\" и в "d:\TestBD\TestBD\Win32\Debug\"
 (http://imglink.ru/thumbnails/22-11-13/e10eec3f120c62d8028d549d4c91508c.jpg) (http://imglink.ru/show-image.php?id=d0a10bafa242476e7461424db02dec25)

Что пишет студия:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC QPSQL7 QPSQL
 (http://imglink.ru/thumbnails/22-11-13/800b2f9407b7161243b89061787ab72c.jpg) (http://imglink.ru/show-image.php?id=bec1e81b5e75cc06dc8648630805dfbe)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 21:31
Кинул qsqlibase4.dll в "d:\TestBD\TestBD\" и в "d:\TestBD\TestBD\Win32\Debug\"

повторюсь:

<каталог выполняемого файла>/plugins/sqldrivers

qsqlibase4.dll - для Release
qsqlibased4.dll - для Debug


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 21:48
Я вот начал читать книгу, которую Алекс посоветовал, но прочитал, конечно, совсем чуть-чуть, так что ничего не понимаю))

exe находится в "d:\TestBD\TestBD\Win32\Debug"
соответственно создаю директорию "d:\TestBD\TestBD\Win32\Debug\plugins\sqldrivers\"
и туда закидываю qsqlibase4.dll и qsqlibased4.dll.

Ошибка никуда не делась, значит что-то делаю не так.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: lesav от Ноябрь 22, 2013, 21:57
в "d:\TestBD\TestBD\Win32\Debug" нужно
положить fbclient.dll из каталога c:/Program Files/Firebird/Firebird_2_5/bin


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 21:59
в "d:\TestBD\TestBD\Win32\Debug" нужно
положить fbclient.dll из каталога c:/Program Files/Firebird/Firebird_2_5/bin


Положил - ничего не изменилось\\


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: lesav от Ноябрь 22, 2013, 22:02
соответственно создаю директорию "d:\TestBD\TestBD\Win32\Debug\plugins\sqldrivers\"
и туда закидываю qsqlibase4.dll и qsqlibased4.dll

На этапе отладки достаточно положить эти драйверы в каталог %QT_DIR%\plugins\sqldrivers\
Кстати, в каталог %QT_DIR%\bin можно закинуть и c:/Program Files/Firebird/Firebird_2_5/bin/fbclient.dll



Ошибка какая ?


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: lesav от Ноябрь 22, 2013, 22:06
Код
C++ (Qt)
....
QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
....
 

Что пишет студия:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC QPSQL7 QPSQL

Загружаешь QIBASE а ошибка "QSqlDatabase: QMYSQL driver not loaded" ? ??


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 22:27

Загружаешь QIBASE а ошибка "QSqlDatabase: QMYSQL driver not loaded" ? ??

Мой косяк. Я сперва скомпилировал "готовый" пример с сайта - не видел, что там загружается не тот драйвер.


соответственно создаю директорию "d:\TestBD\TestBD\Win32\Debug\plugins\sqldrivers\"
и туда закидываю qsqlibase4.dll и qsqlibased4.dll

На этапе отладки достаточно положить эти драйверы в каталог %QT_DIR%\plugins\sqldrivers\
Кстати, в каталог %QT_DIR%\bin можно закинуть и c:/Program Files/Firebird/Firebird_2_5/bin/fbclient.dll

Ошибка какая ?

Сделал так - ошибок никаких нет, но соединение не устанавливается.

Код:
TestBD::TestBD(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);

QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
//db.setHostName("bigblue");
db.setDatabaseName("d:\myDB.gdb");
db.setUserName("SYSDBA");
db.setPassword("masterkey");
bool ok = db.open();
if(!ok)
{
QString str = db.lastError().text();
}
}

 (http://imglink.ru/thumbnails/22-11-13/dc64c1ebfff6119098c06fd8647d0159.jpg) (http://imglink.ru/show-image.php?id=0882256d45e31362e1db1b65ed3fe591)

 (http://imglink.ru/thumbnails/22-11-13/722af43b08c90d7bb79f82ff52af2697.jpg) (http://imglink.ru/show-image.php?id=43382be032e28994a46dfe3c1eb0130a)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 22, 2013, 22:39
http://www.prog.org.ru/topic_15063_15.html


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 22, 2013, 22:48
http://www.prog.org.ru/topic_15063_15.html

Я работаю с IBExpert.
myDB.gdb, Chess.fdb - существующие, не пустые базы в корне D:\

Другое дело, что они создавались еще при FireBird х64. Сейчас попробую создать еще БД под FireBird-ом нынешним.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 23, 2013, 10:44
Создал новую БД, кинул ее в корень. Изменил db.setDatabaseName("d:\myDB.gdb"); на db.setDatabaseName("d:\MYTESTBD.GDB");
0 эмоций


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 23, 2013, 10:54
А почему ты к БД не по сети пытаешься подсоединиться, а как к файлу?  ???


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Bepec от Ноябрь 23, 2013, 11:59
++. Собрал ibase под MSVC2008 и ток заметил последний комментарий.

Firebird это же серверная БД. Он к файлу и не подцепится.

PS собирается спокойно по вот этому руководству http://codedchaos.blogspot.ru/2011/07/qt-qibase-qt-firebird-embedded.html. Ток не емберред ставить нужно :)


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 23, 2013, 12:05
Firebird это же серверная БД. Он к файлу и не подцепится.

Вот и я о том же  ;D


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Bepec от Ноябрь 23, 2013, 12:53
Руководство по сборке -  http://codedchaos.blogspot.ru/2011/07/qt-qibase-qt-firebird-embedded.html (http://codedchaos.blogspot.ru/2011/07/qt-qibase-qt-firebird-embedded.html)
Далее кидаем получившееся в каталог плагинов Qt. (\Qt\4.7.2\plugins\sqldrivers\)
Создаём БД в командной строке fireBird
Код:
SQL>CREATE DATABASE 'C:\test.fdb'↵
CON>user 'SYSDBA' password 'masterkey';↵

А далее уже создаём проект. Данный код рабочий однако :D

Код:
//#include <QSqlDatabase>
//#include <QDebug>
qDebug() << QSqlDatabase::drivers ();

QSqlDatabase db_ = QSqlDatabase::addDatabase("QIBASE");
db_.setHostName("localhost");
db_.setDatabaseName("c:/test.fdb");
db_.setUserName("SYSDBA");
db_.setPassword("masterkey");

if (!db_.open())
{
qDebug() << db_.lastError().text();
return ;
}
db_.exec("CREATE TABLE YahoooItsWORK(GQUANT INTEGER);");
qDebug() << db_.lastError().text();
qDebug() << db_.tables();

qApp->quit();

PS интересный у неё синтаксис, свои типы и прочая. Правда как программно создать БД я не понял, правда сильно и не интересовался :D


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 23, 2013, 14:06
Руководство по сборке -  http://codedchaos.blogspot.ru/2011/07/qt-qibase-qt-firebird-embedded.html (http://codedchaos.blogspot.ru/2011/07/qt-qibase-qt-firebird-embedded.html)
Далее кидаем получившееся в каталог плагинов Qt. (\Qt\4.7.2\plugins\sqldrivers\)

Т.е. я кидаю в этот каталог все файлы из "c:\Program Files (x86)\Firebird\Firebird_2_5\", такие как:
fbclient.dll;
firebird.msg;
ib_util.dll;
все файлы начинающиеся с icu* (icudt30.dll, icuin30.dll, icuuc30.dll)
каталог intl (скинул папкой);
каталог udf (скинул папкой, только у меня UDF);
aliases.conf (за компанию - не в курсе как использовать);
firebird.conf;

Вот что получилось:
 (http://imglink.ru/thumbnails/23-11-13/27f79086973fd89a5732f6309723c67d.jpg) (http://imglink.ru/show-image.php?id=9a8171ee1b44a00277f95a3cc54d528d)


Создаём БД в командной строке fireBird
Код:
SQL>CREATE DATABASE 'C:\test.fdb'↵
CON>user 'SYSDBA' password 'masterkey';↵

Можно ли использовать ту БД, которую я написал в IBExpert и которая лежит по адресу "D:\MYTESTBD.FDB" ?

А далее уже создаём проект. Данный код рабочий однако :D

Код:
//#include <QSqlDatabase>
//#include <QDebug>
qDebug() << QSqlDatabase::drivers ();

QSqlDatabase db_ = QSqlDatabase::addDatabase("QIBASE");
db_.setHostName("localhost");
db_.setDatabaseName("c:/test.fdb");
db_.setUserName("SYSDBA");
db_.setPassword("masterkey");

if (!db_.open())
{
qDebug() << db_.lastError().text();
return ;
}
db_.exec("CREATE TABLE YahoooItsWORK(GQUANT INTEGER);");
qDebug() << db_.lastError().text();
qDebug() << db_.tables();

qApp->quit();

Ставлю Ваш код - посмотрим что получится.



А получается, что все получается. Конектится к БД, exec создает там дополнительную таблицу. Ошибок никаких нет.

"Я: 63 ответа, 567 просмотров. Помогли:)
Она: Ну вот, а ты ревел"

Еще раз огромное спасибо!!!


P.S.
PS интересный у неё синтаксис, свои типы и прочая. Правда как программно создать БД я не понял, правда сильно и не интересовался Веселый
Вы же по сути и так создали БД программно. Имя БД можно так же создавать с помощью exec (CREATE DATABASE или что-то вроде того). Надеюсь, не ошибаюсь.



Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 23, 2013, 14:18
В \Qt\4.7.2\plugins\sqldrivers\ или в <путь-к-исполняемуму-файлу>\plugins\sqldrivers\ - кидаются только те два файла, которые получились после сборки драйверов. Остальные dll-ки ложатся рядом с exe-файлом или в любой каталог, зареганный в PATH


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Bepec от Ноябрь 23, 2013, 14:34
Да, попробуйте запустить на другом компе без куте - скорее всего потребуется fbclient.dll.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 23, 2013, 19:45
Да, попробуйте запустить на другом компе без куте - скорее всего потребуется fbclient.dll.

Попробую завтра. Сегодня нет второго компа под рукой:)

Как к уже созданному проекту в VC2010 добавить SQL library, если эта библиотека не подключалась при создании проекта?
Ответ нашел. ПКМ на имени решения. Qt Project Settings.


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Majestio от Ноябрь 23, 2013, 20:25
в Qt Creatore в .pro файле добавляется:

QT += sql

А как в VС ... без понятия, если он с .pro файлами работатет - то так, как выше


Название: Re: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?
Отправлено: Dzeto от Ноябрь 23, 2013, 20:38
в Qt Creatore в .pro файле добавляется:

QT += sql

А как в VС ... без понятия, если он с .pro файлами работатет - то так, как выше

Majestio, отредактировал свое предыдущее сообщение - там есть ответ внизу. Это я уже так - вопросы по мелочи задаю :)