Hi Prashant,

Thanks for the prompt response. I had tried passing in the OUT param and
that didn't work either. It still gave me UncategorizedSQLException.

Do I need to change the com.Filter class to have another attribute for
the OUT parameter? If yes, what should be the corresponding java type? I
was expecting the OUT param to tie into the resultMap.

Here's how my procedure is declared

CREATE OR REPLACE PROCEDURE Procedure1
        (
                IN_filter1      IN table.col1%TYPE,
                IN_filter2      IN table.col2%TYPE,
                IN_filter3      IN table.col3%TYPE,
                OUT_RESULTSET OUT Types.cursor_type) AS
BEGIN.........

Thanks.

-----Original Message-----
From: Prashanth Sukumaran [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 03, 2005 10:00 AM
To: [email protected]
Subject: Re: Stored procedure call throwing UncategorizedSQLException


Hi Satish,

IBatis is a very simple tool.  It is just a wrapper on top of the JDBC.
You can call it with any
technical name.  It lets to do a lot of things, which otherwise you will
have to do it yourself.

For Example,
In the normal JDBC assume you had one Input and one Output.  You would
do

                        delStmt         = conn.prepareCall("{call
DeleteCustomer(?, ?)}");        // 2

                        delStmt.setString(1, CustID);
                        delStmt.registerOutParameter(2,
OracleTypes.VARCHAR);


So similarly, you have to define both the input and output parameters in
IBatis.

Think of ibatis as a wrapper on JDBC and you will be cruising through.

Thanks

Prashanth.


--- "Rao, Satish" <[EMAIL PROTECTED]> wrote:

> 
> I have a stored procedure with 3 IN parameters and 1 OUT parameter.
The
> OUT parameter is a REF CURSOR.
> 
> Here's my sqlMap entry:
> 
>       <resultMap id="list-result" class="com.Result">
>               <result property="col1" column="COL1"/>
>               <result property="col2" column="COL2"/>
>               <result property="col3" column="COL3"/>
>       </resultMap>
> 
>       <parameterMap id="proc_param" class="com.Filter">
>               <parameter property="filter1" mode="IN"
> jdbcType="NUMBER" javaType="java.lang.Long"/>
>               <parameter property="filter2" mode="IN"
> jdbcType="VARCHAR" javaType="java.lang.String"/>
>               <parameter property="filter3" mode="IN"
> jdbcType="VARCHAR" javaType="java.lang.String"/>
>       </parameterMap>
> 
>       <procedure id="listResults" parameterMap="proc_param"
> resultMap="list-result">
>               {call Procedure1(?,?,?)}
>       </procedure>
> 
> I get UncategorizedSQLException when I execute the above sqlMap. I am
> not sure what I am doing wrong.
> 
> Questions:
> 2. The table column for filter1 is NUMBER(15), table column for
filter2
> is CHAR(1) and the table column for filter3 is VARCHAR2(10). Is my
> jdbcType representation correct?
> 3. I am passing in only 3 IN parameters to Procedure1. Do I need to
pass
> in another '?' for OUT parameter?. If yes, do I need to change the
> com.Filter class to have another attribute for the OUT parameter and
> what should be the corresponding java type? I was expecting the OUT
> param to tie into the resultMap.
> 
> Please help.
> 
> Thanks,
> Satish
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to