SELECT * FROM system.storedprocedures возвращает пустой курсор, если пользователь не является ADSSYS - PullRequest
2 голосов
/ 13 июля 2011

Как указано в заголовке, оператор select для извлечения списка всех system.storedprocedures из ADS DataDictionary возвращает информацию только тогда, когда пользователь является ADSSYS.Я полагаю, это вопрос пользовательских разрешений.Тогда возникает вопрос, как мне назначить разрешение данному пользователю или группе пользователей на запрос с использованием select из system.storedprocedures?

Спасибо,

Reinaldo.

1 Ответ

3 голосов
/ 14 июля 2011

Вам необходимо предоставить пользователю или группе полномочия EXECUTE для каждой отдельной хранимой процедуры. С разрешением EXECUTE они смогут видеть процедуру и ее параметры, но никаких других свойств. Если вы предоставите им разрешение ALTER, они также смогут увидеть SQL-скрипт или свойства DLL этой процедуры.

Вы можете назначать разрешения, используя Advantage Data Architect (ARC), оператор SQL GRANT или API ACE AdsDDGrantPermission . Конечно, чтобы изменить разрешения, вам нужно быть пользователем ADSSYS или пользователем / группой с правами ALTER для другого пользователя / группы.

...