Bezeichner muss deklariert werden ORA-06550 und PLS-00201

Ich habe zwei Datenbanken, eine ist im lokalen server;

Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
"CORE   11.1.0.7.0  Production"
TNS for 64-bit Windows: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production

Den anderen einen VM :

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
"CORE   11.2.0.4.0  Production"
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

Alles, was über diese Server sind identisch.
Ich bin DBA für beide Server. Alle Tabellen und gespeicherte Prozeduren und sind in Ordnung, die in beiden Datenbanken, aber eine gespeicherte Prozedur funktioniert nicht, wenn Asp.net versucht sich zu verbinden.

Wenn ich meine Asp.net app, die den Anschluss an die VM-Datenbank bekomme ich folgende Fehlermeldung sagt mir, dass die gespeicherte Prozedur muss deklariert werden :

Message: Sys.WebForms.PageRequestManagerServerErrorException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'GETINFO' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

Öffne ich mein SQL Developer-und debug-Verfahren auf der VM-Datenbank, und ich bekomme die gewünschten Werte ein.
Es ist nur passiert .Die Netto-app, wenn ich versuchen zu bekommen, dass eine bestimmte gespeicherte Prozedur. Alles andere, als all die anderen gespeicherten Prozeduren funktionieren.

Was ich getan habe um das Problem zu lösen;

  1. Änderte den Namen der Prozedur (nicht Arbeit)
  2. Überprüft das schema, um sicherzustellen, dass alle Tabellen und gespeicherten Prozeduren gehört zum richtigen Benutzer (Sie gehören zu richtigen Benutzer)
  3. Ich Zugriff auf Benutzer zu, selbst wenn die gespeicherte Prozedur erstellt, die von diesem Benutzer.
  4. Ich gelöscht und neu erstellt die gespeicherte Prozedur
  5. Ich verwendet Myuser.storedprocedure name-notation es hat nicht funktioniert

Was ich nicht verstehe, ist, dass genau die gleiche code funktioniert auf lokalen und Netzwerk, und auch, dass ich Debuggen kann die gespeicherte Prozedur mithilfe der Oracle SQL Developer.

Kann ich teilen die gespeicherten Produkt hier, aber es ist wirklich, wirklich lang.

Wie kann ich dieses Problem beheben?

  • Können wir sehen, dass die relevanten Teile des Codes und/oder die Funktion sich selbst aufrufen? Verwenden Sie die exakt gleiche ODBC-connector für die Anwendung? Wenn alle Dinge sind identisch, die auf der DB-Ebene, dann haben wir einen Blick auf die Anwendung.
InformationsquelleAutor Mord Fustang | 2014-12-08
Schreibe einen Kommentar