Oracle Create View-Problem
Hey Leute. So, ich bin angemeldet als das dba-Konto, und ich möchte eine Ansicht erstellen, in der Benutzer1 schema, aber die Auswahl der Daten von User2 ist.
Ich habe folgende Abfrage:
CREATE OR REPLACE VIEW User1.NewView (Column1) AS
SELECT DISTINCT Column1 FROM User2.Table
und ich bekomme die folgende Fehlermeldung:
SQL Error: ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Zu beheben musste ich dann zu gewähren, wählen Sie den Zugang zu User1 auf User2.Tabelle. Gibt es eine Möglichkeit, dies zu tun, ohne den Zugriff zu gewähren, da bin ich schon angemeldet als dba? Danke Jungs!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie müssen (und sollten immer) explizit zu erteilen, die den Zugriff auf Objekte, die in einem anderen schema.
Obwohl Sie angemeldet sind, als "das dba-Konto" (SYS, gehe ich davon aus), die CREATE-Anweisung ist für die user1-schema speziell.
Können Sie tun, CREATE or REPLACE FORCE VIEW ...
Erstellt wird, die Sicht trotz des Fehlens von Privilegien, aber die Ansicht wäre nicht nutzbar, es sei denn, die Berechtigungen erteilt werden. Es ist eine Lösung, die nützlich sein können, wenn Privilegien gewährt werden später (z.B. in einen automatisierten build-Skript).
Wahrscheinlich, weil Sie nicht haben Zugriff auf die Tabelle oder Sicht
Abfrage
grant privileges on object to user;