Qt を使用してデータベースに接続しています (これまでのところ PostgreSQL と mySQL を使用しています)。ポートの動作について少し混乱しています。それが違いを生む場合、私はUbuntuを使用しています。
ここのドキュメントによると: http://doc.qt.nokia.com/4.8-snapshot/qsqldatabase.html#setPortポートのデフォルト値はありません。ただし、設定で実際にポートを設定していないことに気付きましたが、問題なく接続しています。
だから私はそれを次のように設定しました:
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("mydb");
db.setUserName("name");
db.setPassword("pass");
どちらが機能しますか(mySQLドライバーでも試しました)
これを行う場合にも機能します:db.setPort(-1);
または、デフォルトのポートを使用して期待するとおり:db.setPort(5432);
ただし、他のポートは機能しませんが、これは予想どおりです。したがって、デフォルトのポート値がなく、-1 が明らかに有効なポートではないと言われている場合、どのように機能しますか?