Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

Re: [Oracle PL/SQL] Aktuell ausgeführte Funktion/Proc ermitt

  Alt 21. Sep 2006, 10:10
Zitat von Phoenix:
Den atuellen Fehlertext habe ich in SQLERRM, aber wie bekomme ich den aktuellen Funktions- / Prozedurnamen raus?
Gar nicht. Ist ein known issue. Du kannst maximal das Package herausfinden, aber nicht die SProc.
Delphi-Quellcode:
create or replace package Blabla is
  subtype TSProcName is varchar(69);

  function getCurrentSProc return TSProcName;
  procedure setCurrentSProc(value in TSProcName);

end Blabla;
Delphi-Quellcode:
create or replace package body Blabla is
  fCurrentSProc TSProcName;

  function getCurrentSProc return TSProcName is
  begin
    return fCurrentSProc;
  end;

  procedure setCurrentSProc(value in TSProcName) is
  begin
    fCurrentSProc := value;
  end;

end Blabla;
Du könntest dir natürlich ein Package schreiben, in dem du selbst die aktuelle SProc einträgst, damit du sie zum Zeitpunkt des Kaboom zur Hand hast.
Ich hatte selbst mal ein Highjacking auf die Debugger API versucht, aber die bekommst du nicht wirklich in eine laufende Session injeziert ohne dass sich diese in Wohlgefallen auflöst.

btw: Ich hatte mir gestern deinen Code zwischen Galactica S2 Folge 18 & 19 angesehen und es dauerte mindestens 30 Minuten bis ich die CoreLabs Klassen durch die ADO-Net Intefaces getauscht, das Erzeugen der Connection durch die ProviderFactories ersetzt hatte und schließlich sämtlichen DB Kramst aus den Containerklassen in eine eigene Mapperklasse umgebogen hab.
Anders hätte ich wohl nichts testen können.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat