[Java lista] Oracle ARRAY + JDBC

CoL col at gear.hu
2009. Dec. 16., Sze, 12:07:37 CET


Szia,

próbálj meg egy űres string-et tartalamzó tömböt átadni.

C.

Godán Tamás wrote:
> Sziasztok!
>
> Bea Weblogic 8.1-ben futó alkalmazásban szeretnék Oracle PL/SQL 
> függvénynek tömb típusú paramétert átadni. Működik is szépen, egyetlen 
> bajom hogy NULL értéket sehogyan sem tudok átadni a bemenő paraméternek.
>
> DBkód:
>
> create or replace type ARRAY_CHAR100 as table of varchar2(100);
>
>
> function collect(
>   I_TransStatusList                        IN ARRAY_CHAR100,
> ) return number is
> ...
>
>
> Java kód:
>
> java.util.List lista = ...;  // Stringekből álló List
> Connection oraConn =  ((weblogic.jdbc.wrapper.JTAConnection) 
> connection).getVendorConnection();
> ArrayDescriptor arrayDescriptor = 
> ArrayDescriptor.createDescriptor("ARRAY_CHAR100", oraConn);
> ARRAY paramArray = new ARRAY(arrayDescriptor, oraConn, lista.toArray());
> statement.setArray(parameterIndex, paramArray);
>
>
> Namármost, 3 féle képpen próbáltam a lista == NULL érték esetet 
> lekezelni, 3 féle különböző hibát kaptam:
>
> 1. statement.setNull(parameterIndex, Types.ARRAY, "ARRAY_CHAR100");   
> (ez az aminek szerintem működnie kellene!)
>     Ez esetben a statement execute hívásakor száll el  
> java.sql.SQLException: ORA-06531: Reference to uninitialized 
> collection hibával.
>
> 2. A lista.toArray() helyett NULL átadása az ARRAY() konstruktor hívásakor
>     Ez esetben a statement execute hívása ezt adja: 
> java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
>
> 3. statement.setArray() hívásban egyszerűen NULL-t adok át a 
> paramArray helyett
>     Ekkor java.sql.SQLException: Invalid argument(s) in call
>
>
> Van valakinek tapasztalata/ötlete ezzel kapcsolatban?
>
>
> üdv,
>   Tamás
>
>
>
> ________________________________________________________
> Most 10 000 Ft-ért beszámítjuk régi mobilod, ha újat veszel számlás 
> előfizetéssel! Részletek: www.pannon.hu 
> <http://ad.adverticum.net/b/cl,1,6022,370758,458130/click.prm>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>   


További információk a(z) Javalist levelezőlistáról