Announcement

Collapse
No announcement yet.

Zugriff auf eine Instanz eines Oracle-Types per JDBC?!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriff auf eine Instanz eines Oracle-Types per JDBC?!

    Hallo,

    und zwar habe ich eine stored procedure in der so ungefähr das drinne steht:

    -------------
    DECLARE
    x type1;
    y type2;
    BEGIN
    FOR i IN x.Parts.FIRST .. x.Parts.LAST LOOP
    x.Parts (i).getWerte(y);
    END LOOP;
    END;
    -------------

    Aber wie kann ich jetzt per JDBC auf die Instanz y zugreifen wenn da meine gewünschten Werte drinne stehen?

    Zur Zeit führe ich ein CallableStatement "call procedure_x()" durch, aber weiss absolut nicht wie ich nun an die einzelnen Spalten von y rankomme.
    Leider steckt in meiner procedure ja auch keine SELECT-Anweisung, wo ich dann einfach das ResultSet ausgeben könnte.

    Also wie kann ich die Instanz selektieren um sie nachher per JDBC/ResultSet auszugeben??

    Danke Leute!

  • #2
    Hallo,

    du musst die Prozedur in ein Package stecken. Im Package einen Cursor deklarieren. In der Prozedur den Cursor öffnen und die Daten in die entsprechenden Spalten selektieren. Danach den Cursor als REF_CURSOR zurueckgeben. Aber bitte den Cursor nicht wieder in der Prozedur schliessen. Danache kannst du diesen Cursor im aufrufenden Programm benutzen.

    Eine genaue Beschreibung bitte der ORACLE-Doku unter dem Stichwort REF_CURSOR entnehmen.

    Gruss

    Stefa

    Comment


    • #3
      Hallo nochmal,

      da hat sich im Internet schon mal jmd. die Mühe gemacht, das genau zu erklaeren. Siehe hier: http://www.enterprisedt.com/publications/oracle/result_set.html

      Ist doch nett, oder? :-)

      Gruss

      Stefa

      Comment


      • #4
        Ich bin neu in diesem Forum (langjähriger ORCL - Entwickler) und bin verwundert.

        Im Apache Forum gibt es eine sehr treffende Abkürung RTFM
        (read the f****g manual). Oder man gehe in den Ordner der ORCL Installation und man sehe in den entsprechenden Unterverzeichnissen einen Ordner "DEMO". Wenn man sich auch nur 1 Stunde darin beschäftigt, dann sind 95% der Fragen in diesem Forum gelöst.

        Dietma

        Comment

        Working...
        X