Zum Inhalt springen

Oracle9i Problem mit Prozedur


Stevie

Empfohlene Beiträge

Hallo,

in der Firma sind wir von Oracle8 auf Oracle9 umgestiegen. Dabei hat sich ein Problem aufgetan:

Ich hatte vor zwei Wochen eine Prozedur geschrieben, die eine Auswertung der Datenbank vornimmt. Dabei wird auf die Tabelle dba_extents zugegriffen. Aber plötzlich funktioniert die Prozedur nicht mehr und es kommt folgender Fehler:

"PL/SQL: ORA-00942: Tabelle oder View nicht vorhanden".

Schreibe ich

SELECT * FROM dba_extents
im SQL-Fenster (ich benutze TOAD), funktioniert alles bestens, aber wenn ich
CREATE OR REPLACE PROCEDURE Test_Proc IS

BEGIN

  SELECT * FROM dba_extents;

END Test_Proc;

/

im Prozedur-Editor schreibe, gibt er mir den oben genannten Fehler.

Meine Vermutung ist, ein Berechtigungsproblem. Aber wie kann es behoben werden?

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi

also ich würde auch im moment auf ein berechtigungsproblem tippen.

hast du admin-zugriff zur verfügung?

kannst du berechtigungen vergeben?

hast du die berechtigungen ggf. schon mal überprüft?

hast du enterprise manager oder so zur verfügung?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hast du Admin-Zugriff zur Verfügung? - Ja, aber nicht unter dem Schema, wo diese Prozedur liegt.

Kannst du berechtigungen vergeben? - Ja.

Hast du die Berechtigungen ggf. schon mal überprüft? - Nein, welche sollte der Benutzer denn haben?

Hast du Enterprise Manager oder so zur Verfügung? - Ja, DBA-Studio.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hab gerade mal nachgeschaut.

also ich hab meinem user: tester einfach select berechtigung auf die view (ansicht) gegeben.

geht auch mit dem sql-befehl:

*****************

REVOKE SELECT

ON "SYS"."DBA_EXTENTS"

FROM "TESTER"

GRANT SELECT ON "SYS"."DBA_EXTENTS" TO "TESTER" WITH GRANT OPTION

*****************

sag mal bescheid obs funktioniert hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich krieg echt'n Affen! :(

Der Benutzer hat schon die Berechtigung, alle Tabellen zu selektieren!

Aber ich hab mal was anderes probiert:

Als SYS hab ich das hier geschrieben:

CREATE OR REPLACE PROCEDURE Test_Proc IS

BEGIN

  SELECT * FROM dba_extents;

END Test_Proc;

/

Da gibt der mir diesen Fehler hier (mit Verweis auf Zeile 3):

PLS-00428: In dieser SELECT-Anweisung wird eine INTO-Klausel erwartet

Wenn ich diese Zeile wieder einfach als Befehl absetze, klappt's.

Ich raff das nicht! :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Stimmt. In pl/sql muss in der select-Anweisung ein into drin sein. Wo sollte er auch sonst mit den selektierten Daten hin???

select spalte into variable from tabelle where ....

Also Variable deklarieren unter Declare ganz am Anfang.

Das dürfte dein letztes Problem zumindest beheben. Das ertse schien aufgrund der Berechtigung zu sein. Kann ich von hier aus aber auch ned sagen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von The_red_one

Stimmt. In pl/sql muss in der select-Anweisung ein into drin sein. Wo sollte er auch sonst mit den selektierten Daten hin???

Mjein, ich kann doch einfach Daten auswählen ohne sie irgendwo zu speichern, das gibt normalerweise keinen Fehler. Ist eben nur unsinnig. Mir ging es ja auch nur darum, zu testen, ob die Berechtigung dort stimmt. Ich meine, SYS muss doch wohl die Berechtigungen haben um so eine Tabelle zu selektieren, oder?! HILFE!!! :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...