Hello tout le monde !
J'ai un piti problème avec java dans oracle (9.2).
J'ai crée une Java stored Procedure qui est devrait me retourner un oracle.sql.ARRAY[], ça fonctionne très bien qd c'est un ARRAY de String, mais je voudrais avoir un ARRAY qui contient mes objets et malheureusement, ça ne fonctionne pas
voila la méthode java ki est dans oracle :
Code :
- public static void getPartyInformation(String p_partyId, oracle.sql.ARRAY[] p_out) throws java.sql.SQLException
|
L'array est remplie dans le code java avec une structure :
Code :
- public class PRS_Struct implements Struct{
- private String cityName;
- private String countryCode;
- ...
|
L'appel dans oracle se fait avec ceci :
Code :
- CREATE OR REPLACE procedure returnParty( p_in in varchar2, p_out out strArray )
- as language java
- name 'ORCL_JSPC.PRS.getPartyInformation( java.lang.String, oracle.sql.ARRAY[] )';
|
strArray est une collection définie dans oracle qui contient des objets du type :
Code :
- TYPE OBJECTTESTTYPE AS OBJECT
- (
- CITY_NAME VARCHAR2(250),
- COUNTRY_CODE VARCHAR2(10)
- )
|
C'est juste pour tester bien sur, rien de plus
Et je reçois comme exception (sans rien de plus, qq1 connait une façon d'avoir plus de détails sur l'erreur ?) :
ORA-29532: Java call terminated by uncaught Java exception: java.sql.SQLException: Fail to convert to internal representation: ORCL_JSPC.PRS_Struct@aa6b09e3 |
Si qq1 a une idée, je n'ai pas trouvé d'exemple qui me montre autre chose qu'un tableau de String
Help me please