I'm using Oracle and try to call PLSql function that return table of records
as a type but I can't use Types.ARRAY to set register my callable statement
output. I get an exception with the following text :
PLSql Package :
create or replace package pkg_test as
TYPE tab_chars IS TABLE OF varchar2(50) index by binary_integer;
function get_chars return tab_chars;
end;
/
create or replace package body pkg_test as
function get_chars return tab_chars is
x tab_chars;
begin
for i in 1..10 loop
x(i):= 'Number #'||i;
end loop;
end get_chars;
end;
/
========================================================
Java Source :
<%@ page import = "java.sql.*, java.util.*,java.text.*"%>
<%
Connection conn;
CallableStatement cstmt;
ResultSet result;
Driver dbaseDriver;
String dbDriver = "oracle.jdbc.driver.OracleDriver" ;
String db = "jdbc:oracle:thin:@128.1.1.4:1521:db";
try {
dbaseDriver = (java.sql.Driver)Class.forName( dbDriver
).newInstance();
out.println(dbaseDriver.getMajorVersion());
conn = java.sql.DriverManager.getConnection (db , "test" , "test");
conn.setAutoCommit (true);
cstmt = conn.prepareCall("{? = call pkg_test.get_chars()}");
cstmt.registerOutParameter(1, Types.ARRAY, "pkg_test.tab_chars");
cstmt.executeUpdate();
//result = cstmt.getArray(1).getResultSet();
}
catch(Exception e){
out.println( e.toString() );
}
%>
Return Exception :
java.sql.SQLException: Fail to construct descriptor: Unable to resolve type:
"pkg_test.tab_rows"
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
Some relevant FAQs on JSP/Servlets can be found at:
http://java.sun.com/products/jsp/faq.html
http://www.esperanto.org.nz/jsp/jspfaq.html
http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets