Страница 1 из 2

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

Добавлено: 27 май 2008, 15:24
Nikos
Добрый день. После перехода с первасива на оракл обычные пользователи перестали иметь права на чтение журнала. У нас есть интерфейсы, использующие журнал. Можно как-то снять это ограничение?

Добавлено: 11 июн 2008, 22:36
Ged
а если grant-ы нарезать

Добавлено: 16 июн 2008, 08:44
Nikos
В саппорте такой возможности нет, по крайней мере в правах на таблицах нет таблицы X$JOURNAL. А в Oracle права даю, если подключиться через SQL+, например, то все нормально читает, а вот через Галактику все-равно не получается.

Добавлено: 27 фев 2009, 14:50
hope
Добрый день, ВСЕМ!!!

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

Как это можно победить?

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

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

Сам проверил только что запись создается и расчет прав проходит. :)

Добавлено: 02 мар 2009, 08:30
hope
Сергей! Спасибо за идею - попробовала. Действительно у пользователя добавляется эта таблица в правах на таблицу, расчет прав проходит. Но отчет так и не формируется - видимо, чего-то еще пользователю не хватает. Чего?

Добавлено: 02 мар 2009, 09:07
Darikon
тоже пробовал на SQL. Расчет также происходит, но доступа нет...

Добавлено: 02 мар 2009, 10:50
m0p3e
Х.м. поищу исходники функции GetOldFieldValueFromJournal. Возможно еще какие-то таблицы нужны.

PS Функция других таблиц не использует. Видимо нужно искать какие-то права на уровне СУБД.

Добавлено: 02 мар 2009, 11:17
hope
берем пользователя - делаем "администратором" - работает отчет.
тут же делаем пользователя - "пользователем" - не работает.

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


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

Какие еще могут быть варианты???

Добавлено: 02 мар 2009, 13:26
m0p3e
Изменения в СУБД при изменении типа пользователя неслабые идут. В первую очередь на права доступа. Насколько я помню уровне тригеров. Жалко что нет сиквельной базы под рукой.

Добавлено: 02 мар 2009, 17:14
hope
Понятно!
Извращаемся: завели пользователя с правами администратора, настраиваем запуск Галактики с автоматическим запуском нужного нам интерфейса (параметр NowRun), пользователь заходит сюда под этим админом, сразу открывается нужный нам интрфейс, пользователь настраивает парамеры, формируется отчет в Excel, галактика закрывается автоматически сама, а отчет остается. Изврат, конечно, но пока другого не придумали...

Добавлено: 02 мар 2009, 18:00
m0p3e
Да уж. Изврат не то слово... :)
Может посмотреть в сторону прямого SQL-я? Если через него удастся считать журнал, то станет ясно кто виноват. Права СУБД или Галактика.

Добавлено: 03 мар 2009, 09:16
hope
Посмотреть бы пример отчета с использованием прямого SQL?

Добавлено: 03 мар 2009, 11:21
Den
Не знаю как на оракле организовано хранения журнальной схемы, но под MSSQL реализованы таблицы дублеры, хранящие измененные записи таблицы по правилу префик 'j$'+<код таблицы по словарю>.
Насколько я помню, при модификации в конкретную j$ вставляются две записи с j$flag=2 и j$flag=3. Но дело в том, что j$ не словарные таблицы и просто так до них не добраться, хоят можно написать хранимку на TSQL и вызвать ее (были темы в разделе программирорвание.)
Имея ориентир из X$JOURNAL, какие записи были изменены по нужной таблице, можно посмотреть в j$ значение до и после полей.

Добавлено: 03 мар 2009, 18:17
Darikon
Вот и сошлись две ветки! :grin:
другая ветка