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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Qt + fireBird  (Прочитано 19887 раз)
crossly
Гость
« Ответ #15 : Сентябрь 30, 2010, 21:12 »

каким компилятором пользуетесь??
Записан
Astrologer
Гость
« Ответ #16 : Сентябрь 30, 2010, 21:20 »

MiniGW.

Crossly, А просто взять dll как сказано было выше и прикрутить их не получится?
Записан
crossly
Гость
« Ответ #17 : Сентябрь 30, 2010, 21:41 »

открываем консоль.... и пишем....
Код:
cd %QTDIR%\src\plugins\sqldrivers\ibase
qmake "INCLUDEPATH+=C:\Firebird\Firebird_2_1\include" "LIBS+=C:\Firebird\Firebird_2_1\lib\fbclient.lib" ibase.pro
mingw32-make

а что вы собственно собираетесь прикрутить... dll для начала собрать надо...
Записан
Astrologer
Гость
« Ответ #18 : Сентябрь 30, 2010, 22:05 »

Собрал. Появились файлы в директории c:\Qt\2010.02.1\qt\plugins\sqldrivers\

беру всю папку и копирую в папку debug с моим проектом. Запускаю.
Код:
QSqlDatabase dbs = QSqlDatabase::addDatabase("QIBASE");
    dbs.setDatabaseName("myBase.db");
    bool _is_open = dbs.open();
    QStringList drList = dbs.drivers();

В drList есть "QIBASE". Однако _is_open = false. Я хочу чтобы база сохранялась в файл. Я так делал с sqlite. Но она вроде же заточена под это. А тут что нужно сделать чтобы похожим образом работала на локальной машине?
« Последнее редактирование: Сентябрь 30, 2010, 22:08 от Astrologer » Записан
crossly
Гость
« Ответ #19 : Сентябрь 30, 2010, 22:18 »

скачать firebird embedded и положить в папку с exe (переименовав fbembed.dll в fbclient.dll).... и не забыть создать базу...
Записан
Astrologer
Гость
« Ответ #20 : Октябрь 01, 2010, 11:06 »

При использовании sqlite база создавалась когда я открывал QsqDatabase. Здесь так не получается(

Скачал embedded с

http://sourceforge.net/projects/firebird/files/firebird-win32/2.1.3-Release/Firebird-2.1.3.18185-0_Win32_embed.zip/download
« Последнее редактирование: Октябрь 01, 2010, 11:11 от Astrologer » Записан
Jo
Гость
« Ответ #21 : Октябрь 01, 2010, 11:37 »

Не дружище, тебе надо скачать IDE для создания баз.

поищи тут http://ibase.ru/download.htm

дык ты драйвер поставил?
Записан
Astrologer
Гость
« Ответ #22 : Октябрь 01, 2010, 11:50 »

Jo Да, драйвер поставил. Теперь мне надо создать файл в котором будет лежать база. Вроде разница только в драйвере, в SQlite все работало. Допустим надо создать файл "myBase.dbs".
Код:
QSqlDatabase dbs = QSqlDatabase::addDatabase("QIBASE");
dbs.setDatabaseName("myBase.dbs");
QStringList dbList = QSqlDatabase::drivers();
bool _is_open= dbs.open();
в dbList есть "QIBASE". Проблема то не в драйвере уже, как я понимаю. В папке debug лежат dll из архива по ссылке выше. И bclient.dll тоже есть и тоже в папке.
« Последнее редактирование: Октябрь 01, 2010, 12:00 от Astrologer » Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #23 : Октябрь 01, 2010, 12:01 »

Только SQLite позволяет указывать при подключении имя несуществующего файла (он его просто создаст - т.е. будет пустая база без таблиц). Все остальные СУБД требуют существующую базу / файл. Поэтому Jo правильно предлагает найти программу для создания базы (хотя можно и консольными утилитами из комплекта).
Записан
crossly
Гость
« Ответ #24 : Октябрь 01, 2010, 13:11 »

в составе embedded есть утилита isql .... запускаем...
Код:
create database 'имя файла' user 'sysdba';
...
а вообще надо взять документацию по firebird... там все написано...
Записан
sne
Гость
« Ответ #25 : Октябрь 01, 2010, 14:52 »

На счет встроеного fb яхз, на полноценной версии СУБД, чуть поменял в нужную мне сторону qtfirebirdibppsqldriver. Возможно поможет.
Записан
Astrologer
Гость
« Ответ #26 : Октябрь 01, 2010, 15:15 »

Я скачал IBExpert. Создал базу, подключился, все работает. Огромное спасибо за терпение и помощь, оcобенно Jo, Crossly, Hellraiser, SNE, Break, Vipet.  Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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