Доступ на журнал обычным пользователям

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Доступ на журнал обычным пользователям

Сообщение Nikos »

Добрый день. После перехода с первасива на оракл обычные пользователи перестали иметь права на чтение журнала. У нас есть интерфейсы, использующие журнал. Можно как-то снять это ограничение?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

а если grant-ы нарезать
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

В саппорте такой возможности нет, по крайней мере в правах на таблицах нет таблицы X$JOURNAL. А в Oracle права даю, если подключиться через SQL+, например, то все нормально читает, а вот через Галактику все-равно не получается.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Добрый день, ВСЕМ!!!

Аналогичная проблема: есть свой отчет, в котором анализируется изменение цен в прайс-листе: выводится текущая цена и предыдущая цена (данные берутся из журнала с помощью функции GetOldFieldValueFromJournal).
Под пользователем с типом пользователя "Администратор" все работает без проблем, под пользователем с типом пользователя "Пользователь" - не происходит анализа.
Я так понимаю: у пользователя нет прав на таблицу X$JOURNAL.

Как это можно победить?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Т.к. игра с флагами таблицы не поможет (в интерфейсы добавления таблиц в протекте принудительно не показываются таблицы с номерами < 200) можно попробовать добавить ее вручную в TableRights и пересчитать права.

Добавляем запись с полями:
ObjType=1
Right=1 - только чтение
TableCode=15
ObjCode={nrec группы пользователей из Groups}.

Сам проверил только что запись создается и расчет прав проходит. :)
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Сергей! Спасибо за идею - попробовала. Действительно у пользователя добавляется эта таблица в правах на таблицу, расчет прав проходит. Но отчет так и не формируется - видимо, чего-то еще пользователю не хватает. Чего?
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

тоже пробовал на SQL. Расчет также происходит, но доступа нет...
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Х.м. поищу исходники функции GetOldFieldValueFromJournal. Возможно еще какие-то таблицы нужны.

PS Функция других таблиц не использует. Видимо нужно искать какие-то права на уровне СУБД.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

берем пользователя - делаем "администратором" - работает отчет.
тут же делаем пользователя - "пользователем" - не работает.

мы же ничего на уровне СУБД не меняем в данном случае? Или все-таки что-то меняется?
По журналу смотрю: в этот момент меяется в таблице X$Resources поле XR$Data - мемо поле видимо.


Пыталась настроить пользователя администратора, с доступом на 1 пункт меню в Рабочем месте. Но пока не смогла убрать доступ к "=" у этого пользователя.

Какие еще могут быть варианты???
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Изменения в СУБД при изменении типа пользователя неслабые идут. В первую очередь на права доступа. Насколько я помню уровне тригеров. Жалко что нет сиквельной базы под рукой.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Понятно!
Извращаемся: завели пользователя с правами администратора, настраиваем запуск Галактики с автоматическим запуском нужного нам интерфейса (параметр NowRun), пользователь заходит сюда под этим админом, сразу открывается нужный нам интрфейс, пользователь настраивает парамеры, формируется отчет в Excel, галактика закрывается автоматически сама, а отчет остается. Изврат, конечно, но пока другого не придумали...
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Да уж. Изврат не то слово... :)
Может посмотреть в сторону прямого SQL-я? Если через него удастся считать журнал, то станет ясно кто виноват. Права СУБД или Галактика.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Посмотреть бы пример отчета с использованием прямого SQL?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Не знаю как на оракле организовано хранения журнальной схемы, но под MSSQL реализованы таблицы дублеры, хранящие измененные записи таблицы по правилу префик 'j$'+<код таблицы по словарю>.
Насколько я помню, при модификации в конкретную j$ вставляются две записи с j$flag=2 и j$flag=3. Но дело в том, что j$ не словарные таблицы и просто так до них не добраться, хоят можно написать хранимку на TSQL и вызвать ее (были темы в разделе программирорвание.)
Имея ориентир из X$JOURNAL, какие записи были изменены по нужной таблице, можно посмотреть в j$ значение до и после полей.
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

Вот и сошлись две ветки! :grin:
другая ветка
Ответить