Stored Procedures importieren

Anfang  Zurück  Vor

Letzte Änderung 12.07.2016

 

Für jede Stored Procdure die Sie importieren wird bei Ihrer Datenquelle eine entsprechende Java Methode generiert, welche die Stored Procedure aufruft und die zurück gelieferten Werte je nach Typ in eine Virtuelle Tabelle (bei tabellarischen Daten) oder in Variablen (z.B. Ergebnis einer Berechnung) speichert.

 

1.Legen Sie eine neue Datenquelle an.

2.Klicken Sie im Verbindungs-Editor bei Metadaten auf Einstellungen.

3.Selektieren Sie in den Einstellungen bei Editoren > Datenquellen-Editor > Stored Procedures auslesen, klicken Sie auf Übernehmen und OK.

clip0628

4.Klicken Sie im Verbindungs-Editor auf Aktualisieren, um Ihre Stored Procedures im Verbindungs-Editor anzuzeigen.

clip0627

5.Klicken Sie auf Importieren > Stored Procedures importieren.

6.Selektieren Sie im folgenden Import-Assistenten die Stored Procedures die Sie importieren möchten und klicken Sie auf OK.

clip0626

7.Klicken Sie auf Speichern.

 
 

 

Importierte Stored Procedure

 

Beispiel für eine importierte Stored Procedure (Oracle) GETALLUSERS, die alle Darsteller der Tabelle ACTOR zurückliefert.

 

create or replace procedure "GETALLUSERS" (prc out sys_refcursor)
is
begin
open prc for select * from ACTOR;
end;

 

 

 

Durch Import generierter Java Code

 

Um die Stored Procedure in XDEV 5 aufrufen zu können, wird in Ihrer Datenquelle eine spezielle Java Methode (Wrapper) generiert. Die Methode erzeugt eine Virtuelle Tabelle, sodass Sie das Abfrageergebnis auf einfache Weise auf der Oberfläche ausgeben zu können.
 

clip0633

 

 

/**
 * Delegate method for
 * <pre>RESULT_SET GETALLUSERS()</pre>
 */
@StoredProcedureDelegate
public static VirtualTable GETALLUSERS() throws DBException
{
   StoredProcedure sp = new StoredProcedure(ReturnTypeFlavor.RESULT_SET,null,"GETALLUSERS","");
   
   try(DBConnection<?> con = DB.openConnection())
   {
      con.call(sp);
      
      return new VirtualTable((Result)sp.getReturnValue(),true);
   }
}

 

 

 

Aufruf der Stored Procedure

 

Nun können Sie die Stored Procedure mit der simplen Java Methode Datenquelle.Methode() aufrufen, z.B. SakilaDB.GETALLUSERS().

 

try
{
   table.setModel(SakilaDB.GETALLUSERS());
}
catch(DBException e)
{
   // TODO Auto-generated code
   e.printStackTrace();
}