Не хотелось бы быть некрофильм, но объясните чайнику, что делать-то в таком случае?
У меня так: server: altlinux + PostgreSQL 8.3.5, client 1. (alt linux + qt 4.7)
QSqlRelationalTableModel * albumsRelation = new QSqlRelationalTableModel(0);
albumsRelation->setTable("\"Temp\".\"Temp\"");
Данный код не работает. Точнее так: при самом первом запуске, когда только установил все, оно запустилось и выдало результат. С тех пор не хочет
И комп перегружал. Не хочет и все
qDebug() << albumsRelation->lastError();
говорит следующее: QSqlError(-1, "Unable to find table "Temp"."Temp"", "")
Что делать? Оно же показало один раз, что все правильно.
Если сделать так:
QSqlQueryModel * model = new QSqlQueryModel();
model->setQuery("select * from \"Temp\".\"Temp\"");
то все будет работать.
Если я правильно понял, то нужно пересобрать драйвер.
В qsql_psql.cpp правим:
QPSQLDriver::Protocol serverVersion = QPSQLDriver::Version6;
заменил на
QPSQLDriver::Protocol serverVersion = QPSQLDriver::Version82;
Пересобрал по инструкции. Но все равно не работает.
Как убедиться, что я правильно собрал драйвер? Или в чем еще может быть проблема?