存储过程传入一个字符串数组参数,但是在array中得不到传入的值。以下是我的代码:
CREATE OR REPLACE TYPE CUTGRPBRA_OBJECT AS OBJECT(
Valid VARCHAR2(30),
BraType VARCHAR2(30),
ID_Name VARCHAR2(30),
I_Name VARCHAR2(30),
J_Name VARCHAR2(30),
ID_No VARCHAR2(30),
Ndirect VARCHAR2(30),
Pmax VARCHAR2(30),
Pmin VARCHAR2(30)
);CREATE OR REPLACE TYPE CUTGRPBRA_TABLE as TABLE OF CUTGRPBRA_OBJECT; public ARRAY getArray(String OracleObj,String OracleTbl) throws Exception{
// my code
ARRAY list = null;
StructDescriptor structdesc = new StructDescriptor(OracleObj,conn);
Object[] o1 = new Object[]{"1","1","1","2","2","2","2","2","2"};
STRUCT s1 = new STRUCT(structdesc, conn, o1);
STRUCT[] structs = {s1};
ArrayDescriptor arraydesc = new ArrayDescriptor(OracleTbl,conn);
list = new ARRAY(arraydesc,conn, structs);
return list;
} 在getArray方法中跟踪s1,结果为 空,即看不到传入的字符值:data = byte[0]
CREATE OR REPLACE TYPE CUTGRPBRA_OBJECT AS OBJECT(
Valid VARCHAR2(30),
BraType VARCHAR2(30),
ID_Name VARCHAR2(30),
I_Name VARCHAR2(30),
J_Name VARCHAR2(30),
ID_No VARCHAR2(30),
Ndirect VARCHAR2(30),
Pmax VARCHAR2(30),
Pmin VARCHAR2(30)
);CREATE OR REPLACE TYPE CUTGRPBRA_TABLE as TABLE OF CUTGRPBRA_OBJECT; public ARRAY getArray(String OracleObj,String OracleTbl) throws Exception{
// my code
ARRAY list = null;
StructDescriptor structdesc = new StructDescriptor(OracleObj,conn);
Object[] o1 = new Object[]{"1","1","1","2","2","2","2","2","2"};
STRUCT s1 = new STRUCT(structdesc, conn, o1);
STRUCT[] structs = {s1};
ArrayDescriptor arraydesc = new ArrayDescriptor(OracleTbl,conn);
list = new ARRAY(arraydesc,conn, structs);
return list;
} 在getArray方法中跟踪s1,结果为 空,即看不到传入的字符值:data = byte[0]
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货