QT5.2はMySQLドライバを見つけることができますが、ロードできない
-
21-12-2019 - |
質問
オペレーティングシステム:Win7 コンパイラ:MingW4.8(QT5.2に付属) リンク:Fedora Core Release 5、カーネル2.6.15-1.2054_FC5 SMP I686
db = new QSqlDatabase();
db->addDatabase("QMYSQL");
db->setHostName("localhost");
db->setDatabaseName("myclinic");
db->setUserName("root");
db->setPassword(",trth12");
qDebug() << loader.errorString();
qDebug() << "drivers: "<< QSqlDatabase::drivers();
if (db->open())
qDebug() << "Success!";
else
qDebug() << db->lastError().text();
.
メッセージ
QSQLDatabase:QMySQLドライバがロードされていないQSQLDatabase:利用可能 ドライバ:QSQLite QMYSQL QMYSQL3 QODBC QoDBC3 QPSQL QPSQL 7 "共有 ライブラリが見つかりませんでした。」ドライバ:( "qsqlite"、 "qmysql"、 "qmysql3"、 "qodbc"、 "qodbc3"、 "qpsql"、 "qpsql7")
「ドライバがロードされていないドライバはロードされていません」
解決 2
答えをありがとうがありますが、問題はQSQLMYSQL.DLLを欠いているからではなく、libmysql.dllがありません(このDLLのように見えないように見えます)。
これは video MySQL
をインストールする方法を示します。他のヒント
Windows上のMySQLプラグインまたは適切なMySQLインストール自体がないように見えます。この場合は、プラグインQTSQLドライバが認識できるシステムに必要なすべてのMySQLライブラリをシステムにインストールする必要があります。
プラグインは、Plugins / SQLDRiversフォルダの下にDLLとして利用可能であるべきです。また、アプリケーションの横にあるSQLDRiversフォルダに入れることができますので、このようなsomething:
- yourapplication.exe
- sqldrivers/qsqlmysql4.dll
.
どういうわけかそれをつかむか、それを自分で構築する必要があるでしょう。これは文書の説明方法の説明です。
でQMySQLプラグインを作成する方法
Windows MySQLインストールファイルを取得する必要があります。 setup.exeを実行して、「カスタムインストール」を選択します。 "libs&includ files"モジュールをインストールしてください。次のようにプラグインを構築します(ここでは、MySQLがC:\ MySQLにインストールされていると仮定されています)。
cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro
nmake
.
Microsoftコンパイラを使用していない場合は、上記の行でNMAKEをMakeに置き換えます。
あなたのコードには別の問題があります。 MySQLデータベース用の "localhost"の代わりに "127.0.0.1"を使用する必要があります。
私はあなたのPbを持っていました
解決策は次のとおりです。
Qt MySQLドライバは既にQt5内にあります(ただし、以前のバージョンではありません)
あなたはあなたのApp EXEの横にある "libmysql.dll"だけを必要としています(またはWindows Directory!)あなたは「mysql \ mysqlx.x.xx \ lib \ opt」ディレクトリに "libmysql.dll"を見つけます。
Qt MySQLドライバが見つからない場合libmysql.dllエラーがドライバが見つかりません...
次のチャンス!