Как подключить QSqlDatabase с помощью TCP? (Драйвер Qt MySQL) - PullRequest
2 голосов
/ 13 сентября 2010

Я пытаюсь подключиться к локальному серверу 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"), с помощью которого можно установить сокет. К сожалению, я не могу понять, как сбросить это.

1 Ответ

3 голосов
/ 13 сентября 2010

используйте db.setHostName("127.0.0.1"); вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...