Проблема с MYSQL в QT (При коннекте на удаленный сервер, при выполнении запроса возращяет ...)

Модератор: Модераторы разделов

Аватара пользователя
OwnerCoder
Сообщения: 186
ОС: OpenSuSe 11, Apple OS X 10.5.8

Проблема с MYSQL в QT

Сообщение OwnerCoder »

Народ есть код:

Код: Выделить всё

    *db = QSqlDatabase::addDatabase(getMethod());
    db->setHostName(getHost());
    db->setUserName(getLogin());
    db->setPassword(getPasswd());
    if (db->open()) {
    QSqlQuery query;
    QString querySql = "SHOW DATABASES;";
    if (!query.exec(querySql)) {
        qDebug() << query.lastError().text();
        return;
    }
    m_ui->comboBox_2->clear();
    while(query.next()) {
        m_ui->comboBox_2->addItem(query.value(0).toString());
    }
    } else {
    QMessageBox::warning(this, this->windowTitle(),
                 tr("Ошибка подключения к бд.\n") + db->lastError().text(),
                 QMessageBox::Ok);
    }


При подключении к mysql расположеному на локалхосте, все норм получает список баз, а при коннекте на удаленный сервер "db.discov04.mass.hc.ru" (например), он постоянно выдает 0 строк. В чем проблема понять не могу, уже пробовал с указанием опций при коннекте db->setConnectOptions(); ни че не помогает. Хотя обычный консольный клиент "mysql" работает нормально. Так же пробовал соединяться через demo пример "sqlbrowser" при выполнение запроса "SHOW DATABASES;" возращяет -1, хотя при явном указании базыданных он начинает показывать таблицы которые есть в базе. Помогите разобраться please.
Спасибо сказали:
alfss
Сообщения: 262

Re: Проблема с MYSQL в QT

Сообщение alfss »

зачем в запросе ";" в конце? Насколько помню драйвер сам завершает.
А логи можно с удалённого хоста?
А пробовали с другой машины запустить клиент и натравить на свой пк?
Спасибо сказали:
Аватара пользователя
OwnerCoder
Сообщения: 186
ОС: OpenSuSe 11, Apple OS X 10.5.8

Re: Проблема с MYSQL в QT

Сообщение OwnerCoder »

alfss писал(а):
29.03.2009 21:15
зачем в запросе ";" в конце? Насколько помню драйвер сам завершает.
А логи можно с удалённого хоста?
А пробовали с другой машины запустить клиент и натравить на свой пк?


Откомпилил под виндой, все нормально работает. Вообще в недоумении что это может быть.
Спасибо сказали:
alfss
Сообщения: 262

Re: Проблема с MYSQL в QT

Сообщение alfss »

С db.discov04.mass.hc.ru нормально получает данные?

Версия QT с win и linux.??
Спасибо сказали:
Аватара пользователя
OwnerCoder
Сообщения: 186
ОС: OpenSuSe 11, Apple OS X 10.5.8

Re: Проблема с MYSQL в QT

Сообщение OwnerCoder »

alfss писал(а):
30.03.2009 02:34
С db.discov04.mass.hc.ru нормально получает данные?

Версия QT с win и linux.??


Получает данные нормально так как и должно. Версия Qt под виндой: 4.4.3, а вот в лине помню мудрил с либсами, у мну даже может быть несколько версий кути в одной системе. Одну версию кути ставил из снапшотов прописывая в ручную пути установки либс, демосов и т.д. Сейчас ставлю версию 4.4.5 из репов, посмотрю может нормально начнет работать. Позже отпишусь.
Спасибо сказали:
Аватара пользователя
OwnerCoder
Сообщения: 186
ОС: OpenSuSe 11, Apple OS X 10.5.8

Re: Проблема с MYSQL в QT

Сообщение OwnerCoder »

Неа таже самая проблема, не хотит коннектиться. Может попробовать пересобрать из исходников?
Спасибо сказали:
alfss
Сообщения: 262

Re: Проблема с MYSQL в QT

Сообщение alfss »

версия там и там libmysql.so?
Кстати, советую если есть возможность перелезть на PostgresQL.
Версия mysql 5.1 никогда стабильной не станет (со слов сотрудника работающего в отделе тестирования), сейчас надежды возлагаются на 6.0.
Учитывая возможную покупку SUN неизвестно к чему все приведет.
Спасибо сказали:
svary
Сообщения: 49
ОС: Linux FC-9

Re: Проблема с MYSQL в QT

Сообщение svary »

OwnerCoder писал(а):
30.03.2009 12:02
не хотит коннектиться


Ну так если не происходит КОННЕКТ, так покажите текст программы, где Вы делаете КОННЕКТ к db.discov04.mass.hc.ru !
Кстати, совсем не уверен, что даже после успешного коннекта на ЧУЖОЙ сервер типа db.discov04.mass.hc.ru у Вас будут права на выполнение SHOW DATABASES; - для этого надо иметь права администратора, при нормальной настройки прав доступа.
Спасибо сказали: