понедельник, 7 марта 2011 г.

Oracle insufficient privileges внутри хранимой процедуры

Немного об одной тонкости в системе привилегий Oracle, о которой не все знают, и которая может съесть немало времени на отладку.

Суть в следующем -- 
Для хранимых процедур, триггеров и прочего PL/SQL (но НЕ для анонимных блоков PL/SQL!) привилегии, необходимые для выполения команд динамического SQL (например, execute immediate ('create synonym s1 for table_1')) должны быть даны создателю (тому пользователю, в схеме которого выполняется процедура или триггер) явно, а не через роль. Очень важный момент, речь идет не о привилегии на выполнение процедуры, а о привилегиях, необходимых для выполнения команд динамического SQL. 

Подробности тут - www.sql.ru/faq/faq_topic.aspx

Советую разобраться со всеми примерами, это та вещь, которую сложновато бывает отладить без знания того, что происходит внутри.

1 комментарий:

  1. To create arc movements or linear movements may be} at an angle to the principal axes, two or extra axes should interpolate together. In the case of 5 axis machines, all five must be perfectly synchronized – no easy Toilet Seat Riser task. To better understand the problems involved to efficiently use your Rhino knowledge for a CNC-controlled machining or cutting kind operation, you need to|you should|you have to} understand the CNC course of and the way it} works.

    ОтветитьУдалить