Ich versuche, die gespeicherten Prozedurmetadaten (Prozedurname, Parametertypen, Parameternamen usw.) für eine in einem Oracle-Paket deklarierte Prozedur unter Verwendung des Standards zu erhalten ADO.NET API - DbConnection.GetSchema Aufruf. Ich verwende den ODP-Treiber.Abrufen gespeicherter Prozedurmetadaten für eine Prozedur in einem Oracle-Paket mit ADO.NET
Ich sehe, dass das Paket in den Metadaten-Sammlungen "Packages" und "PackageBodies" aufgeführt ist. Der Prozedurparameter wird in den Sammlungen 'Arguments' und 'ProcedureParameters' angezeigt. Ich sehe keine Möglichkeit, über die Paketmetadaten zu den Verfahrensinformationen zu gelangen. Auch wenn die Prozedur keine Parameter enthält, befindet sich in der Sammlung 'ProcedureParameters' eine Zeile für diese Prozedur.
Meine Frage: Um die Prozedur-Metadaten zu erhalten, muss ich die 'ProcedureParameters'-Sammlung abfragen und nach einem Eintrag mit dem erforderlichen Paketnamen suchen? Ich kann dann die Prozedur-Metadaten basierend auf den Parameterinformationen konstruieren. Gibt es eine kürzere oder schnellere Möglichkeit, die gleichen Informationen zu erhalten?
Danke dafür. Ich habe die Abfrage ein wenig modifiziert, um die Liste der SPs zu erhalten. In SYS.DBA_PROCEDURES gibt es keine Spalte "OBJECT_TYPE". Ich verwende ORACLE 10.2.0.1.0 – alwayslearning