i want to access a data type defined in a package from java when executing function.Please help me.
Package and function:
create or replace package types as
TYPE name_array IS VARRAY(100000) OF VARCHAR2(200);
end types;
create or replace function test_pack1 return types.name_array as
names types.name_array := types.name_array();
begin
for emp in (Select state from test where test_ID BETWEEN 1 AND 120000) loop
names.extend;
names(names.count) := emp.state;
end loop;
return names;
end test_pack1;
java code
cstmt = (OracleCallableStatement) con.prepareCall("begin ? :=test_pack1; end;");
cstmt.registerOutParameter(1, OracleTypes.ARRAY,"NAME_ARRAY");
cstmt.execute();
In the above i am getting error at the second line. Err msg below: java.sql.SQLException: invalid name pattern: xyz.NAME_ARRAY
function is getting executed in Oracle successfully.But when we try execute from java its throwing above exception.