Скачал архив с 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ом - вроде все нормально. Что за дела? Кто-нибудь сталкивался с такими проблемами?