QtをQOCIで(実際には他のプラグインと一緒に)使用しようとしていますが、何らかの理由で使用できません。これが私がしたことと結果です:
1- http://doc.qt.nokia.com/latest/sql-driver.html#qoci プラグインが正常にビルドされました。
2-プラグインのデバッグとリリースのdllファイルとlibファイルをplugins/sqldriversにコピーし、OCI.DLLを%WINDIR%\ system32にコピーしました(plugins / sqldriversは、QPSQLやQMYSQLなどの他のプラグインがある場所です)
3- QSqlDatabase :: isDriverAvailable(QOCI)はfalseを返し、QMYSQLおよびQPSQLの場合はtrueを返します。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を開いたときにそれらを見つけることもできません。qsqloci4.dllの依存関係のため、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が失敗するのですか?何か案は?
前もって感謝します。