Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Выдать права на процедуру


Автор: Valdemaras 18.7.2006, 08:48
Написал процедуру, которая работает если ее запускает владелец схемы, то есть в данном случае пользователь shilov. Если запускать туже процедуру в моей программе но под другим пользователем то выдает исключение("Происходит одна или несколько ошибок при обработке команды"). 
В sql navigator'e если под другим пользователем выполнить эту процедуру, то все проходит нормально. Естественно там в запросе указана схема где лежит процедура!
Надо как то указать, что процедура находится в дргой схеме. 
Использую TADOStoredProc. 

Автор: Sqlninja 18.7.2006, 10:02
Я думаю надо сделать вашу процедуру с правами вызывающего:

Код

CREATE PROCEDURE xxx(p int)
AUTHID CURRENT_USER AS
BEGIN
...
END xxx;


По умолчанию процедура создается с правами создателя.
  

Автор: LSD 18.7.2006, 10:12
Цитата(Sqlninja @  18.7.2006,  11:02 Найти цитируемый пост)
Я думаю надо сделать вашу процедуру с правами вызывающего:

Думаю проблема не в этом, иначе бы в SQL Navigator процедура не работала бы.

Цитата(Valdemaras @  18.7.2006,  09:48 Найти цитируемый пост)
Написал процедуру, которая работает если ее запускает владелец схемы, то есть в данном случае пользователь shilov. Если запускать туже процедуру в моей программе но под другим пользователем то выдает исключение("Происходит одна или несколько ошибок при обработке команды"). 
В sql navigator'e если под другим пользователем выполнить эту процедуру, то все проходит нормально. Естественно там в запросе указана схема где лежит процедура!

Что за ошибку выдает Oracle? И приведи код. 

Автор: 3x3 4.10.2006, 01:07
Цитата(Valdemaras @ 18.7.2006,  08:48)
Естественно там в запросе указана схема где лежит процедура!
Надо как то указать, что процедура находится в дргой схеме. 
Использую TADOStoredProc.

Просто в качестве имени пишете схема.имя_процедуры везде, где это надо. Либо синоним в схему пользователя или публичный создавать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)