Переустановил openSUSE на 11.4 (недавно вышла).
В предыдущей (suse 11.3) стоял постгрес версии 8.4 в новой 9.0.3
Установил постгрес из репы сообщества.
Теперь не могу открыть БД из приложения.
bool MW::connectDataBase()
{
myDB = QSqlDatabase::addDatabase(dbData.type);
myDB.setDatabaseName(dbData.name);
myDB.setHostName(dbData.host);
myDB.setUserName(dbData.user);
myDB.setPassword(dbData.pass);
if(!myDB.open()) {
QMessageBox::critical(this, trUtf8("Внимание!"),
trUtf8("Ошибка подкючения базы данных: \n%1\n\n%2\n").arg(dbData.name)
.arg(myDB.lastError().text()), trUtf8("Ok"));
return false;
}
sysLog(trUtf8("База данных \"%1\" открыта").arg(dbData.name));
return createParentTable();
}
Пишет:
FATAL: Ident authentication failed for user "ps"
QPSQL: Unable to connect
Причем встроенным монитором вхожу без проблем:
ps@linux-2iht:~> psql tstdb
psql (9.0.3)
Type "help" for help.
tstdb=>
Теперь если из приложения попытаться переподключится к базе
(после смены имени...)
void MW::reconnectDataBase()
{
if(myDB.isOpen()) myDB.close();
QApplication::beep();
sleep(1);
connectDataBase();
sleep(1);
// refreshTreeAddr();
// readDataUO();
}
Еще и на консоль получаю:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Драйвер установлен (указать другой тип БД, ругается что нет драйвера).
Да и другие приложения подключиться не могут. В часности pgaccess.
Вопрос куда рыть?
Почему psql подключается к БД:
тип - QPSQL
имя БД - tstdb
хост - localhost
имя и пароль юзера по умолчанию владельца БД
а из приложения при тех же параметрах входа - ошибка идентификации.
Брандмауэр отключен на время.
Qt шный драйвер?
Может кто встречался с подобным