Название: Firebird 2.5 unavailable database Отправлено: QuAzI от Декабрь 04, 2011, 23:25 Qt 2010.5, скачанный свежий инсталяк Firebird 2.5.1.
На удивление легко и без мата собрался плагин, но отказывается работать. Код: if (!db.open() Код: "127.0.0.1:C:\Progra~1\Firebird\Firebird_2_5\examples\empbuild\EMPLOYEE.FDB" "SYSDBA" "masterkey" QSqlError(-904, "Error opening database", "unavailable database") В директории с релизом лежат нужные fbclient.dll (взят из установленного Firebird, оттуда же тянулись инклюды для сборки плагина) и msvcr80.dll (в зависимостях у fbclient.dll), плагин в списке QSqlDatabase::drivers виден, зависимости все вроде учтены. Чего ему ещё не хватает для счастья? Может кто заведомо рабочим поделится? Название: Re: Firebird 2.5 unavailable database Отправлено: QuAzI от Декабрь 07, 2011, 12:01 Собрал драйвер к Firebird 2.1 - к базе подключается, выборка работает. Есть какая-то возможность стандартными методами создать базу данных из QIBASE, без использования особо страшных хаков и сторонних драйверов к FB, напичканных хаками и заточенных под отдельные версии?
Название: Re: Firebird 2.5 unavailable database Отправлено: joker от Декабрь 09, 2011, 10:13 Ну в теории CREATE DATABASE должен помочь... но напрямую из Qt его вроде не дергнешь...
Может сделать скриптец создания базы и скормить isql? ЗЫ Обычно не встречается софт которому нужно создавать свои базы - нужна уже готовая база где будет как минимум некий набор таблиц-справочников, так что может создание БД - вовсе и не надо? ЗЫЫ С птичкой лучше работать с QFIREBIRD (http://code.google.com/p/qtfirebirdibppsqldriver/) - по крайней мере работают параметры для запросов да и быстрее он раз в несколько (на медленном соединении 10 минут вместо 3х часов QIBASE) Название: Re: Firebird 2.5 unavailable database Отправлено: QuAzI от Декабрь 09, 2011, 11:19 QFIREBIRD там выложен без отладочной библы, собирать было лениво, разберусь до конца с общими вопросами, займусь той базой.
isql с собой тягать не вариант. Нужно всё в рамках SQL-подключения. Создавать базу нужно из приложения, чтобы максимально упростить разворачивание приложения. Для PostgreSQL и MySQL всё красиво в плане "создал юзверя, создал для него базу, создал таблички - радуйся жизни". А тут затык. Народ предлагает дёргать или жутко внутренний API (которого во первых описание ещё поискать нормально, во вторых непонятно как на разных версиях будет себя вести, в третьих полная фигня в плане переносимости или подмены плагина-драйвера БД с QIBASE на QFIREBIRD). Ну и вообще это не есть правильно, дёргать что-то мимо основного нормального SQL для сервера SQL. Название: Re: Firebird 2.5 unavailable database Отправлено: vlad-mal от Декабрь 10, 2011, 23:31 Чтобы по-быстрому скрипт выполнить, я с собой библиотечку IBEScript.dll (вместе с ibExpert идет) таскаю.
Там что хочешь можно делать. Название: Re: Firebird 2.5 unavailable database Отправлено: QuAzI от Декабрь 11, 2011, 01:08 Вариант интересный, но совершенно не кроссплатформенный
Название: Re: Firebird 2.5 unavailable database Отправлено: eJinn от Май 13, 2013, 14:13 Есть какая-то возможность стандартными методами создать базу данных из QIBASE, без использования особо страшных хаков и сторонних драйверов к FB, напичканных хаками и заточенных под отдельные версии? Создай пустую базу с нужными таблицами и пр. заранее, положи ее рядом со своей прогой. Вместо создания базы копируй эту заготовку на нужное место и заполняй из своей проги нужные таблички. |