Forum » Programiranje » [PL/SQL] Dbms_Ddl.alter_compile
[PL/SQL] Dbms_Ddl.alter_compile
JanezH ::
Zivjo,
imam 2 userja (npr user1, user2), vsak user pa ima svoj package (npr. package1, package2). Rad bi pa naredil to, da bi med izvajanjem package1 od user1 skompajlal package2 os user2.
V kodi od package1 od user1 napišem:
Dbms_Ddl.alter_compile('PACKAGE', 'user2', 'package2');
ampak mi vrze error: ORA-20000: Insufficient privileges or object does not exist.
Na user2 sem grantal pravice: GRANT EXECUTE on 'package2' to 'user1';
ampak ne pomaga.
mi lahko prosim kdo pove kaj narediti?
hvala
imam 2 userja (npr user1, user2), vsak user pa ima svoj package (npr. package1, package2). Rad bi pa naredil to, da bi med izvajanjem package1 od user1 skompajlal package2 os user2.
V kodi od package1 od user1 napišem:
Dbms_Ddl.alter_compile('PACKAGE', 'user2', 'package2');
ampak mi vrze error: ORA-20000: Insufficient privileges or object does not exist.
Na user2 sem grantal pravice: GRANT EXECUTE on 'package2' to 'user1';
ampak ne pomaga.
mi lahko prosim kdo pove kaj narediti?
hvala
Ginginova ::
Z GRANT EXECUTE v Oraklju dodeliš le pravice za izvrševanje, ne za spreminjanje paketov/funkcij/procedur. :)
Sicer pa ne razumem, zakaj bi rad kompajlal reč skozi PL/SQL proceduro in skozi drugega userja, ki ni lastnik paketa? Če imaš en paket/proceduro/funkcijo, ki se sklicuje na drugega, ki je bil spremenjen ali invalidiran, se itak pri poiskusu izvršbe najprej opravi prevajanje kode in to samodejno.
Ogo
Sicer pa ne razumem, zakaj bi rad kompajlal reč skozi PL/SQL proceduro in skozi drugega userja, ki ni lastnik paketa? Če imaš en paket/proceduro/funkcijo, ki se sklicuje na drugega, ki je bil spremenjen ali invalidiran, se itak pri poiskusu izvršbe najprej opravi prevajanje kode in to samodejno.
Ogo
JanezH ::
Ja vem kaj naredi grant in paket se ne spreminja vmes. Štos je da se najprej izvaja en paket na prvem userju pri čemer se dropajo tabele, ki se uporabljajo tudi v drugem paketu in zaradi tega pride drugi paket v invalid stanje, vsaj mislim da je tako. Paketi pa se kličejo z eksterno aplikacijo, ki dobiva 'ora' napake in tu pride pol do napake kjer se prvi paket vedno izvrsi, pri drugem pa pride do napake. Če pa zaganjam paketa v pl/sql developerju pa vedno dela vredu. Zato sem mislil, da ce bi na koncu prvega paketa recompilal drugi paket, da bi pol delovalo ok...
JanezH ::
10-ko.
Sej je OK, sem naredil na drugačen način pol, sam me pa vseeno zanima zakaj tole ni delovalo...
Sej je OK, sem naredil na drugačen način pol, sam me pa vseeno zanima zakaj tole ni delovalo...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kako najlaže rešiti problem z unix permissioniOddelek: Pomoč in nasveti | 1883 (1630) | eVro |
» | Oracle SQL DeveloperOddelek: Programska oprema | 2904 (2081) | cesy |
» | kako prestaviti uporabniške profile (Documents and Settings) na drug diskOddelek: Operacijski sistemi | 1652 (1367) | sidd |
» | Gentoo kaj se dogaja?Oddelek: Operacijski sistemi | 2311 (1599) | Pithlit |
» | Sortiranje podatkov v PHPjuOddelek: Programiranje | 1189 (1039) | poweroff |