Я пытаюсь подключиться к локальному серверу MySQL, но не могу узнать, как выбрать, следует ли QSqlDatabase подключаться через сокет или порт. Qt является версией 4.6.3. Мой простой тестовый код выглядит следующим образом:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("rem");
db.setUserName("test");
db.setPassword("test");
if (!db.open()) {
qDebug() << db.lastError();
}
Это дает мне:
QSqlError(2002, "QMYSQL: Unable to connect",
"Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
Как вы можете видеть, он хочет подключиться с помощью сокета по умолчанию, который мне не нужен.
Я нашел db.setConnectOptions("UNIX_SOCKET=blabla")
, с помощью которого можно установить сокет. К сожалению, я не могу понять, как сбросить это.