2013-12-02 1 views
1

У меня есть 2 пользователя: UserA и UserBOracle SQL Developer - Невозможно прочитать пакеты

UserA владеет пакетами и процедурами. Я хочу, чтобы UserB мог читать эти пакеты и процедуры, а не выполнять или изменять их.

, так что я сделал это:

grant debug any procedure to UserB; 

Использование жаба, UserB теперь может прочитать пакеты ПользовательА в.

Но с использованием Oracle SQL Developer это не работает.

Есть ли опция в SQL Developer, чем мне нужно включить? Или мне нужно предоставить больше вещей пользователю?

Я использую Oracle 10g R2

+0

Почему? Какова цель этого требования? – Rene

+0

UserA является владельцем приложения в Production, UserB также предназначен для разработчиков, которые читаются только в таблицах приложений. Разработчики хотят иметь возможность читать источники, чтобы убедиться, что установлены правильные версии. – guigui42

+0

Мы используем пакеты, содержащие функцию, которая возвращает номер версии пакета. Номер версии автоматически обновляется с помощью контроля источника. Таким образом вы можете запросить пакет и узнать, какая версия находится в базе данных. – Rene

ответ

3

Если вы привыкли использовать жаба, Sql интерфейс разработчика похож, но немного по-другому. Я предполагаю здесь, но вы, вероятно, подключаетесь как UserB и ожидаете увидеть все объекты схемы в Connections. Однако в Sql Developer, что показано в разделе Подключения, это объекты, принадлежащие этому подключенному пользователю, а не всем объектам.

Вы хотите использовать «Schema Browser» в Sql Developer. Для этого просто щелкните правой кнопкой мыши на подключении UserB и выберите Schema Browser. Затем вы увидите раскрывающийся список в верхнем левом углу страницы, чтобы выбрать желаемого пользователя (в этом случае UserA). Второй снимок под ним - это выбор типа объекта (таблица, функция, процедура, пакет и т. Д.)

Надеюсь, что это поможет.

+0

Я использую SQL Developer 2.1.1.64, но я не могу найти эту опцию «Schema Browser». – guigui42

+0

@ guigui42 эта очень старый версия. Вы действительно должны получить последнюю версию (3.2) [здесь] (http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html). Кроме того, 4.0 почти не работает. Если вы используете Windows, вы, вероятно, захотите загрузить параметр с помощью jre (проще, просто загрузите, извлеките zip и запустите exe в папке sqldeveloper) – tbone

+0

Да, вы правы, я только что загрузил последнюю версию, и UserB может видеть UserA пакеты, не делая ничего особенного ... Вероятно, это была ошибка в более ранних версиях. – guigui42

1

Обновление SQL Developer от версии 2.1.1.64 до 3.2 разрешило проблему.