2017-03-07 4 views
0

Manchmal heben wir folgende Fehlermeldung erhalten, während SQL-AdapterMobileFirst SQL-Adapter einen Fehler

ORA-06508 Aufruf: PL/SQL: konnte nicht Programm finden genannt zu werden.

Alle Objekte sind gültig/kompiliert und in Oracle DB verfügbar.

Wenn wir ein Paket oder eine Prozedur in Oracle-Datenbank ändern, erhalten wir diesen Fehler. Die Frage ist also: Müssen wir den SQL-Adapter, der das Datenbankobjekt erneut aufruft, erneut bereitstellen?

Antwort

0

Es passiert, weil Ihre Verbindung zu einem Zeiger auf eine Prozedur hält, die nicht mehr in RAM vorhanden ist, da es neu kompiliert wurde.

Ich habe dies seit vielen Jahren gesehen und Sie können dies im laufenden Betrieb neu erstellen.

  1. Rufen Sie einen Oracle-Prozedur
  2. Recompile dieses Verfahren
  3. Nennen Sie es wieder werden Sie bekommen „könnte nicht Programm genannt werden können.“
  4. Rufen Sie es erneut und es wird funktionieren.

Wenn Sie die Verbindung nach # 2 geschlossen und öffnete dann die Verbindung und rief die Prozedur, die Sie nie diesen Fehler bekommen würde.

Nachdem Sie den Anruf zu diesem Proc und Sie sind fertig, schließen Sie Ihre Verbindung vor dem erneuten Aufruf.

+0

Danke, das ist, wie wir auf Oracle-Seite tun können, aber wie es durch Mobilefirst sql Adapter getan werden würde, ist das, was das Hauptproblem ist? Wie schließe ich die Verbindung, bevor ich sie über mobilefirst sql adapter erneut anrufe? – MichealSmith

+0

MichealSmith: Ich habe mir die SQL Adapter-Dokumentation angesehen und wurde sehr überwacht, dass ich keine offene/geschlossene Verbindung sah, aber ihr JAVA-Adapter hat sie. Ich weiß, dass das Schließen/Öffnen dieses Problem behebt. Möglicherweise möchten Sie sich an IBM wenden, um zu erfragen, wie die Verbindung zu ändern ist. –

Verwandte Themen