Добрый день.
Ситуация такова - есть компьютер на котором установлен linux (openSuSE 11.1) и настроен PostgreSQL 8.3.
Пытаюсь соединиться с базой данных следующим образом:
C++ (Qt)
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("10.0.100.100");
db.setPort(5432);
db.setDatabaseName("testdb");
db.setUserName("testuser");
db.setPassword("password");
bool ok = db.open();
if( ok ) { QMessageBox::information(this, "", "<font color=green>Alles ok :)</font>"); }
else { QMessageBox::information(this, "", "<font color=red>Error :'(</font>"); }
В результате чего, при запуске приложения с другого компьютера, выскакивает сообщение с текстом "Error
".
Если запускать приложение на "сервере", замнив строку
C++ (Qt)
db.setHostName("10.0.100.100");
на
C++ (Qt)
db.setHostName("127.0.0.1");
или
C++ (Qt)
db.setHostName("localhost");
то будет отображено сообщение с текстом "Alles ok
".
Разрешал удаленный доступ к базе данных следующим образом:
В файле $PGSQL_DATA_D/postgresql.conf дописал строку - listen_addresses = '*'
В файле $PGSQL_DATA_D/pg_hba.conf - host testdb testuser 10.0.100.101 password
Допускается ли использование ip адресов в setHostName() ?
Или это проблемы с конфигурацией PostgreSQL?