dylan_klebold
@dylan_klebold

Qt + Firebird 2.5 — что-то не так с плагином?

Скачал архив с Firebird 2.5 (не embedded). Сбилдил плагин по инстуркции , вроде все ок, появились нужные .dll-ки (qsqlibase и qsqlibase4).
Затем скачал Embedded (тоже, конечно же, 2.5) архив, оттуда достал fembedded.dll (переименовав, следуя инструкции, в fbclient.dll). Ок, пытаюсь с этим всем работать, в папке с проектом есть папка sqldrivers, в которой все это добро лежит и грузится вот таким способом:

QPluginLoader loader;
loader.setFileName("..\\folder1\\folder2\\sqldrivers");
	
qDebug() << loader.load(); 
QMessageBox::information(0,"",QString::number(loader.load()));
qDebug() << loader.errorString();


Пытаюсь начать работать с базой
source_database = QSqlDatabase::addDatabase("QIBASE");
source_database.setDatabaseName("./test.fdb");
source_database.setUserName("SYSDBA");
source_database.setPassword("masterkey");


Однако натыкаюсь на ошибку "Driver not loaded!"
Ок, проверяю доступные драйвера
QStringList sdrivers = QSqlDatabase::drivers();
	//output all avalible drivers
for(int i = 0; i< sdrivers.size();i++)
		qDebug()<<sdrivers[i];


Однако, выводит, что он доступен!
"QIBASE" "QSQLITE" "QODBC3" "QODBC" "QPSQL7" "QPSQL"


Клал .dllки в папку с exeшником проекта - та же картина, ходил DependencyWalkerом - вроде все нормально. Что за дела? Кто-нибудь сталкивался с такими проблемами?
  • Вопрос задан
  • 4541 просмотр
Решения вопроса 1
@DancingOnWater
Как правила подобные траблы возникают из-за невнимательного прочтения https://qt-project.org/doc/qt-5.0/qtdoc/deployment...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kkmspb
@kkmspb
хобби C++, Qt, десктоп, микроконтроллеры STM32
Как вариант можно отладчиком в исходники заглянуть, за полчаса обычно понятно становится в чем дело.
А разве QPluginLoader нужен, вроде штатно QIBASE должен поддерживаться.
Например для QSQITE сразу addDatabase срабатывает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы