| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Доступ к javaклассу из класса другого пользователя |
| Автор: Appolina 14.7.2009, 11:17 | ||||
| Привет! Кто-нибудь сталкивался с такой проблемой: необходимо использовать java-классы одного пользователя из под другого. Классы загружаются с помощью pl/sql developer'а и появляются в списке user_object'ов, все ок. Класс пользователя supplier:
Использующий его класс пользователя consumer:
Для того, чтобы разрешить ссылку на используемы класс из под пользователя supplier: grant execute on "test_grant" to consumer; А из под consumer по всякому пробовали: alter java class "test_consumer" resolver ((* consumer)(* supplier)(* PUBLIC)) authid current_user; alter java class "test_consumer" resolver ((* consumer)(* supplier)(* PUBLIC)) authid definer; Несмотря на все эти ухищрения при компиляции класса test_consumer выдается ошибка cannot resolve symbol на строке "test_grant t = null;" Если создать оба класса под одним пользователем, то все компилируется. Oracle 10.2g |
| Автор: DimW 14.7.2009, 12:47 | ||
| если я все правильно понимаю то при создании класса в схеме этот класс относится к пакету с названием схемы в которой он создан. для того что бы его поюзать достаточно прописать импорт:
но это теория, сам не проверял. |
| Автор: Appolina 14.7.2009, 17:40 | ||
| Спасибо, но это, к сожалению не помогает. Вообще, какую бы чушь не написала после import, класс, не обращая на все это внимания компилируется. Проблема частично может быть решена загрузкой классов с помощью loadjava с обязательным ключом synonym. Вот в таком виде у меня получилось:
Вроде бы это означало просто создание синонима, но, видимо происходит параллельно что-то еще тк отдельное создание аналогичного синонима без использоывания loadjava не помогло. |
| Автор: LSD 14.7.2009, 18:40 |
| А http://download.oracle.com/docs/cd/B14117_01/server.101/b10759/statements_9013.htm на эти классы ты пользователю дала? P.S. А имена классов остаются как есть, никаких префиксов схемы к ним не добавляется. |
| Автор: Appolina 15.7.2009, 09:59 | ||
Да, дала. Вот в таком виде:
из под пользователя supplier. |