Java: Lesen der Metadaten aus Verfahren
Ich bin auf der Suche nach einem Weg, um Metadaten aus einer Oracle-gespeicherten Prozedur, wie input/output-Parameter und Ihre Typen.
Ich habe versucht DESC
aber es funktioniert nicht:
stmt = conn.createStatement();
ResultSet rs1 = stmt.executeQuery("desc pack.procname");
while ( rs1.next() ) {
System.out.println(rs1.getString(1));
}
Irgendwelche Ideen auf, was Ansatz zu verwenden, um die input - /output-Parameter?
Vielen Dank für Ihre Zeit.
InformationsquelleAutor Adnan | 2010-10-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie die folgende Anweisung:
Je nach dem schema, zu dem das Paket gehört, müssen Sie ggf. die Ansicht _ALL_ARGUMENTS_ oder _DBA_ARGUMENTS_ statt.
Verwenden Sie den untenstehenden code-block, um das Problem zu beheben.
Da Sie über JDBC, meine Präferenz wäre die Verwendung der JDBC-Metadaten-API zum abrufen dieser Informationen eher als das Abfragen der Oracle-data-dictionary-direkt. DatabaseMetaData.getProcedureColumns ist die generic-JDBC-Methode, um die Parameter für eine Prozedur.
Wenn Sie vermeiden wollen, mit JDBC direkt, können Sie meine open-source - SchemaCrawler - API, die erstellt plain old Java objects aus der Datenbank-Metadaten.