Название: Проблема с QSqlTableView и QOCI Отправлено: vinnie от Сентябрь 10, 2008, 11:45 Доброго всем времени суток!
Ситуация такая: коннекчусь к Oracle 10.2, Qt 4.4 через OCI Выполняю такой вот код... Код: sqlTableModel = new QSqlTableModel(this, db); А если соединиться как USER и выполнить тоже самое, только Код: sqlTableModel->setTable("TABLE"); Через QODBC все работает как часы, только медленно :( Кто-нить сталкивался? Название: Re: Проблема с QSqlTableView и QOCI Отправлено: nanit от Сентябрь 11, 2008, 21:00 А у пользователя, под которым изначально подключаешся, есть какие-нибудь права (хотя бы SELECT) на таблицу TABLE в схеме пользователя USER?
Название: Re: Проблема с QSqlTableView и QOCI Отправлено: Пантер от Сентябрь 11, 2008, 21:02 А может кутя такую конструкцию как "USER.TABLE" не понимает?
Название: Re: Проблема с QSqlTableView и QOCI Отправлено: nanit от Сентябрь 11, 2008, 21:23 Вряд ли. Qt вроде просто собирает SQL запрос в виде строки и выполняет его через QSqlQuery.
Название: Re: Проблема с QSqlTableView и QOCI Отправлено: Пантер от Сентябрь 11, 2008, 21:29 Завпрос выполняется через кутевый драйвер. Попробуй соединиться через /demos/sqlbrowser.
Название: Re: Проблема с QSqlTableView и QOCI Отправлено: nanit от Сентябрь 11, 2008, 21:38 Попробовал. Запрос "SELECT * FROM TECH.USER_LIST" от пользователя TEST, имеющего права доступа к таблице USER_LIST в схеме TECH выполнился нормально, а запрос "SELECT * FROM SYS.DBA_DATA_FILES", куда у пользователя TEST нет доступа, закончился ошибкой "ORA-00942: таблица или представление пользователя не существует".
Название: Re: Проблема с QSqlTableView и QOCI Отправлено: vinnie от Сентябрь 12, 2008, 14:16 Права на SELECT есть. Более того, данные отображаются, если соединяться посредством ODBC. То есть, код тот же, меняешь "QOCI" на "QODBC" и все гут. Попробовал SQLBrowser из qtdemo как советовали, вот что получилось: при выборе таблицы другой схемы из дерева справа и двойном клике мыши получаю список столбцов таблицы и ошибку ORA-00942 (все как у меня), при вводе текста запроса в поле внизу
Код: SELECT * FROM USER.TABLE Название: Re: Проблема с QSqlTableView и QOCI Отправлено: ритт от Сентябрь 12, 2008, 14:22 попроуй собрать модель скл с -DQT_DEBUG_SQL - все запросы будут отправляться в дэбаг и сможешь сравнить запросы от квери и от тэйблмодели.
что ещё подсказать не знаю... |