Qt C++アプリケーションからMySQLデータベースに接続したいとします。データベースはホスト上にあり、インターネット上で利用可能です。接続は失敗します。私は、MySQLのユーザ名、パスワード、ホストのIPとポート番号(私が何であるかを知らないこと)C++からMySQLデータベースにアクセス
Application::getInstance()->db = QSqlDatabase::addDatabase("QMYSQL");
QSqlDatabase *db = &Application::getInstance()->db;
db->setHostName("64.34.119.12"); // The string is IP address of my host (not real)
db->setDatabaseName("foo");
db->setUserName("root");
db->setPassword("password");
db->open(); // returns false
私はdb->setHostName()
にIPアドレスを渡そうとしましたが、働いていないを持っています。
このコードはローカルデータベースで動作します。私はそれをオンラインデータベース(ローカルデータベースと同じ)で動作するように変更したい。 –
ポート番号を見つけ、ファイアウォールがそれをブロックしていないことを確認する必要があります。簡単な方法は、接続が可能かどうかを判断するためにip/portにtelnetで接続しようとすることです。そうでなければ、ファイアウォールの問題である可能性が高いです。 –