Announcement

Collapse
No announcement yet.

String array aus Java an Oracle übergeben

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

  • String array aus Java an Oracle übergeben

    Hallo,

    habe in meiner JAVA-Source ne JAVA Methode
    Code:
        public static String test(){
     	  return "test";
        }
    und mittels der Oracle Function in meinem Package
    Code:
     function test return varchar2
     as
     language java 
     name 'umrechnungen_java.test() return varchar2';
    kann ich den Wert auch auslesen

    Frage:
    wie macht man das aber bei Arrays?
    die Java-Methode wäre dann folgende
    Code:
        public static String [] test_array(){
     	 	   String [] a_ergebnis = new String [2];
    		   a_ergebnis [0] = "eins";
    		   a_ergebnis [1] = "zwei";
    		   return a_ergebnis;  
    	  
        }
    wie sieht aber dann die Oracle Function
    (speziell return ???)
    aus

    Hilfe, danke
    christoph

  • #2
    Ist hier beschrieben. Such einfach nach setPlsqlIndexTable dann kommst Du direkt zu einem Beispielprogramm.

    Schaut ein bissl wild aus, weil die im Javaquellcode auch gleich das Beispielpackage mit anlegen.

    Wichtig ist vor allem, dass Du in deinem Package entsprechende Typen definiert hast und diese auch in deiner Prozedur verwendest.
    z.B.
    Code:
    CREATE OR REPLACE PACKAGE MYPACKAGE AS
    TYPE VARCHAR_ARRAY IS TABLE OF VARCHAR2(255) INDEX BY BINARY_INTEGER;
    TYPE NUMBER_ARRAY  IS TABLE OF NUMBER  INDEX BY BINARY_INTEGER;
    
    PROCEDURE processArray (p_StringArray VARCHAR_ARRAY,p_IntArray NUMBER_ARRAY;
    ...
    VARCHAR_ARRAY und NUMBER_ARRAY sind natürlich frei wählbare Namen.

    Dim
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment


    • #3
      okay...super...danke...komm grad leider nicht dazu es umzusetzen, aber ich denke ich sollte s damit hinkriegen... :-)

      muchas gracias

      Comment

      Working...
      X