Miért a pl

Valószínűleg egy idegen tárgynak csak egy szerepe van megadva. Más felhasználók vagy rendszer jogosultságok objektumainak felhasználása az eljárásokban / triggerekben stb.





valamint a munkahelyi szükséglet, hogy közvetlenül, nem pedig a szerep révén, kiváltságot biztosítsanak nekik.
Ezt a szabályt is figyelembe kell venni a dinamikus SQL esetén:

A használt verzió
Oracle9i Enterprise Edition kiadás 9.2.0.1.0 - Termelés
PL / SQL kiadás 9.2.0.1.0 - Gyártás
CORE 9.2.0.1.0 Gyártás







A probléma abból adódik, hogy ha az eljárás létre egy futtatható a jogait az alkotó, a szükséges jogosultságokat, hogy megfeleljen a következő dinamikus SQL parancsokat kell adni az alkotók egyértelműen, és nem egy szerepet. Egy nagyon fontos pont, mi nem beszélünk a jogosultságokat, hogy végre az eljárást, és a szükséges jogosultságokkal dinamikus SQL utasítások végrehajtásához.

1) Hozzon létre egy felhasználót

A felhasználó látogatása

-- győződjön meg arról, hogy a felhasználónak jogában áll létrehozni egy táblát

Nagyon gyakran a fejlesztők rejtélyesek, miért, ha létrehozok egy asztalt sqlplusban
vagy dinamikusan egy névtelen blokkban, akkor minden rendben van, de ha ezt megteszem
eljárás hibaüzenetet kap ORA-01031: nem elegendő jogosultság. Itt van a válasz
ez a kérdés. Anonim blokk használata esetén a helyzet más. Névtelen blokk
végrehajtóként működik, így a szerepen keresztül adott kiváltságok,
jár!

Dinamikus SQL indítások használata

A ravaszt az alkotója jogaival hajtják végre, NEM pedig a felhasználónak, aki kiváltotta. Így a fentiek a dinamikus SQL triggerek esetén érvényesek - a szükséges jogosultságokat explicit módon kell megadni, nem pedig szerepkörön keresztül.




Kapcsolódó cikkek