Я пытаюсь использовать Qt с QOCI (на самом деле, вместе с другими плагинами), но по какой-то причине не могу. Вот что я сделал и в результате:
1- http://doc.qt.nokia.com/latest/sql-driver.html#qoci
Плагин успешно собран.
2 - скопировал файлы DLL отладки и выпуска плагина в плагины / sqldrivers и OCI.DLL в% WINDIR% \ system32 (плагины / sqldrivers - это то, где находятся другие плагины, такие как QPSQL и QMYSQL)
3- QSqlDatabase :: isDriverAvailable (QOCI) возвращает false , где он возвращает true для QMYSQL и QPSQL. Я сделал то же самое для QMYSQL и QPSQL
4- QStringList qsl = QSqlDatabase :: drivers ();
В возвращенном списке строк нет QOCI. однако есть QMYSQL, QPSQL и некоторые другие.
дополнительные проверки: открыл qsqloci4.dll с помощью обходчика зависимостей, невозможно найти 3 dll: 1-QtCore4.dll 2-QtSql4.dll 3-MSVSC80.dll Однако их также невозможно найти при открытии qsqlpsql.dll с помощью обходчика зависимостей. Полагаю, что загрузка dll не удалась из-за зависимостей qsqloci4.dll. Но все же любые идеи приветствуются.
НОВОСТИ
LoadLibrary(_T("C:\\QtSDK\\Desktop\\Qt\\4.7.3\\msvc2005\\plugins\\sqldrivers\\qsqloci4.dll");
и
LoadLibrary(_T("C:\\QtSDK\\Desktop\\Qt\\4.7.3\\msvc2005\\plugins\\sqldrivers\\qsqlocid4.dll");
не может !!! Обратите внимание, что оба этих файла существуют по указанному пути.
Я считаю, что Qt также не может загрузить плагин из-за этой ошибки. Теперь вопрос немного другой, но почему LoadLibrary терпит неудачу в этом случае? Есть идеи?
Заранее спасибо.