0

リモートの SQL Server データベースに接続しようとしています。「QODBC」を QSqlDatabase として追加しようとすると、ランタイムで次のエラーが発生します。

私のコードスニペット:

               QStringList drivers = QSqlDatabase::drivers();
               qDebug()<<"drivers list: "<<drivers;
               QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");

エラー:

         drivers list:  ("QODBC3", "QODBC") 
         Cannot mix incompatible Qt library (version 0x40804) with this library (version 0x40803)

ご覧のとおり、ドライバー リストの出力を見ると、利用可能なドライバーがあることがわかります。.pro ファイルには「QT += sql」が含まれています。QT サポート ブログの指示に従って odbc ドライバーをビルドし、アプリケーション フォルダーに「sqldrivers」サブ フォルダーとして追加しました。バージョンの非互換性エラーを解決する方法が見つからないようです。この問題を解決するための助けをいただければ幸いです。

4

2 に答える 2

0

QODBC ライブラリは Qt ライブラリと互換性がありません。QODBC ライブラリを Qt バージョンでビルドする必要があります。ガイドがあります: http://qt-project.org/doc/qt-4.8/sql-driver.html

于 2013-02-06T20:01:17.523 に答える
0

解決済み: アプリケーション リリース フォルダー内の QtCore & QtGui dll が古い qt 4.8.3 であった問題があり、これを現在の qt 4.8.4 に変更しました。

于 2013-02-07T16:08:38.937 に答える