You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by amutap <am...@gmail.com> on 2008/06/27 08:59:42 UTC
IBatis on Spring:: error when calling SP. the SP returns cursor
Hi guys,
I have a stored procedure that returns a cursor. my Sp has only this single
OUT param.
following is my sqlmapping:
<resultMap id="notifications" class="lenderNtfnDTO">
<result property="lenderId" column="LNDR_OID"/>
<result property="lenderNotificationTypeId"
column="LNDR_NTFN_TMPL_CD"/>
<result property="lenderQASIdentifier" column="LNDR_QAS_IND"/>
</resultMap>
<parameterMap id="notificationsParameterMap" class="map">
<parameter property="CO_LNDR_NTFN" javaType="java.sql.ResultSet"
jdbcType="ORACLECURSOR" mode="OUT" resultMap="notifications" />
</parameterMap>
<procedure id="getNotificationsByLender"
parameterMap="notificationsParameterMap" >
{call pkg_ntfn.p_get_ntfn_by_lndr(?)}
</procedure>
here, the procedure out param (cursor) name is "CO_LNDR_NTFN".
I call it using following -
HashMap map = new HashMap();
map.put("CO_LNDR_NTFN", null);
sqlMapClientTemplate.queryForObject("getNotifications", map);
notificationList = (ArrayList)map.get("CO_LNDR_NTFN");
I receive following error -
--- The error occurred in com/.../sqlmap/SendNotificationMap.xml.
--- The error occurred while applying a parameter map.
--- Check the SendNotification.notificationsParameterMap.
--- Check the statement (update procedure failed).
--- Cause: java.sql.SQLException: Bigger type length than Maximum; nested
exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/.../sqlmap/SendNotificationMap.xml.
--- The error occurred while applying a parameter map.
--- Check the SendNotification.notificationsParameterMap.
--- Check the statement (update procedure failed).
--- Cause: java.sql.SQLException: Bigger type length than Maximum
I do not understand the issue is with the way I am handling the resultset or
something is wrong with the procedure!
my iBatis version is 2.3.0.677 and Spring version is 1.2.7
looking forward for a reply..
Thanks,
Amit
--
View this message in context: http://www.nabble.com/IBatis-on-Spring%3A%3A-error-when-calling-SP.-the-SP-returns-cursor-tp18149219p18149219.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
Re: IBatis on Spring:: error when calling SP. the SP returns cursor
Posted by Amit Jagtap <am...@gmail.com>.
Thanks for the reply Larry!
Yes it is indeed a driver issue. I replaced my oracle 9X driver with a 10X
one according to my db version and it solved the problem.
Cheers,
Amit
Larry Meadors wrote:
>
> This looks like an Oracle error...have you tried to reproduce this
> with a simpler scenario (i.e., a simple JDBC call)?
>
> Larry
>
>
> On Fri, Jun 27, 2008 at 12:59 AM, amutap <am...@gmail.com> wrote:
>>
>> Hi guys,
>>
>> I have a stored procedure that returns a cursor. my Sp has only this
>> single
>> OUT param.
>>
>> following is my sqlmapping:
>> <resultMap id="notifications" class="lenderNtfnDTO">
>> <result property="lenderId" column="LNDR_OID"/>
>> <result property="lenderNotificationTypeId"
>> column="LNDR_NTFN_TMPL_CD"/>
>> <result property="lenderQASIdentifier" column="LNDR_QAS_IND"/>
>> </resultMap>
>> <parameterMap id="notificationsParameterMap" class="map">
>> <parameter property="CO_LNDR_NTFN"
>> javaType="java.sql.ResultSet"
>> jdbcType="ORACLECURSOR" mode="OUT" resultMap="notifications" />
>> </parameterMap>
>> <procedure id="getNotificationsByLender"
>> parameterMap="notificationsParameterMap" >
>> {call pkg_ntfn.p_get_ntfn_by_lndr(?)}
>> </procedure>
>>
>> here, the procedure out param (cursor) name is "CO_LNDR_NTFN".
>>
>> I call it using following -
>> HashMap map = new HashMap();
>> map.put("CO_LNDR_NTFN", null);
>>
>> sqlMapClientTemplate.queryForObject("getNotifications", map);
>>
>> notificationList = (ArrayList)map.get("CO_LNDR_NTFN");
>>
>> I receive following error -
>>
>> --- The error occurred in com/.../sqlmap/SendNotificationMap.xml.
>> --- The error occurred while applying a parameter map.
>> --- Check the SendNotification.notificationsParameterMap.
>> --- Check the statement (update procedure failed).
>> --- Cause: java.sql.SQLException: Bigger type length than Maximum; nested
>> exception is com.ibatis.common.jdbc.exception.NestedSQLException:
>> --- The error occurred in com/.../sqlmap/SendNotificationMap.xml.
>> --- The error occurred while applying a parameter map.
>> --- Check the SendNotification.notificationsParameterMap.
>> --- Check the statement (update procedure failed).
>> --- Cause: java.sql.SQLException: Bigger type length than Maximum
>>
>> I do not understand the issue is with the way I am handling the resultset
>> or
>> something is wrong with the procedure!
>>
>> my iBatis version is 2.3.0.677 and Spring version is 1.2.7
>>
>> looking forward for a reply..
>>
>> Thanks,
>> Amit
>>
>> --
>> View this message in context:
>> http://www.nabble.com/IBatis-on-Spring%3A%3A-error-when-calling-SP.-the-SP-returns-cursor-tp18149219p18149219.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context: http://www.nabble.com/IBatis-on-Spring%3A%3A-error-when-calling-SP.-the-SP-returns-cursor-tp18149219p18157539.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
Re: IBatis on Spring:: error when calling SP. the SP returns cursor
Posted by charlie bird <ze...@yahoo.co.uk>.
I remember seeing this using the Oracle jdbc driver that came with 8i - it was quite buggy.
Try using a more up to date driver. IIRC the 9i one fixed this (and numerous other ones) problems.
--- On Fri, 27/6/08, Larry Meadors <la...@gmail.com> wrote:
> From: Larry Meadors <la...@gmail.com>
> Subject: Re: IBatis on Spring:: error when calling SP. the SP returns cursor
> To: user-java@ibatis.apache.org
> Date: Friday, 27 June, 2008, 2:26 PM
> This looks like an Oracle error...have you tried to
> reproduce this
> with a simpler scenario (i.e., a simple JDBC call)?
>
> Larry
>
>
> On Fri, Jun 27, 2008 at 12:59 AM, amutap
> <am...@gmail.com> wrote:
> >
> > Hi guys,
> >
> > I have a stored procedure that returns a cursor. my Sp
> has only this single
> > OUT param.
> >
> > following is my sqlmapping:
> > <resultMap id="notifications"
> class="lenderNtfnDTO">
> > <result property="lenderId"
> column="LNDR_OID"/>
> > <result
> property="lenderNotificationTypeId"
> > column="LNDR_NTFN_TMPL_CD"/>
> > <result
> property="lenderQASIdentifier"
> column="LNDR_QAS_IND"/>
> > </resultMap>
> > <parameterMap
> id="notificationsParameterMap"
> class="map">
> > <parameter
> property="CO_LNDR_NTFN"
> javaType="java.sql.ResultSet"
> > jdbcType="ORACLECURSOR" mode="OUT"
> resultMap="notifications" />
> > </parameterMap>
> > <procedure
> id="getNotificationsByLender"
> > parameterMap="notificationsParameterMap"
> >
> > {call pkg_ntfn.p_get_ntfn_by_lndr(?)}
> > </procedure>
> >
> > here, the procedure out param (cursor) name is
> "CO_LNDR_NTFN".
> >
> > I call it using following -
> > HashMap map = new HashMap();
> > map.put("CO_LNDR_NTFN", null);
> >
> >
> sqlMapClientTemplate.queryForObject("getNotifications",
> map);
> >
> > notificationList =
> (ArrayList)map.get("CO_LNDR_NTFN");
> >
> > I receive following error -
> >
> > --- The error occurred in
> com/.../sqlmap/SendNotificationMap.xml.
> > --- The error occurred while applying a parameter map.
> > --- Check the
> SendNotification.notificationsParameterMap.
> > --- Check the statement (update procedure failed).
> > --- Cause: java.sql.SQLException: Bigger type length
> than Maximum; nested
> > exception is
> com.ibatis.common.jdbc.exception.NestedSQLException:
> > --- The error occurred in
> com/.../sqlmap/SendNotificationMap.xml.
> > --- The error occurred while applying a parameter map.
> > --- Check the
> SendNotification.notificationsParameterMap.
> > --- Check the statement (update procedure failed).
> > --- Cause: java.sql.SQLException: Bigger type length
> than Maximum
> >
> > I do not understand the issue is with the way I am
> handling the resultset or
> > something is wrong with the procedure!
> >
> > my iBatis version is 2.3.0.677 and Spring version is
> 1.2.7
> >
> > looking forward for a reply..
> >
> > Thanks,
> > Amit
> >
> > --
> > View this message in context:
> http://www.nabble.com/IBatis-on-Spring%3A%3A-error-when-calling-SP.-the-SP-returns-cursor-tp18149219p18149219.html
> > Sent from the iBATIS - User - Java mailing list
> archive at Nabble.com.
> >
> >
__________________________________________________________
Not happy with your email address?.
Get the one you really want - millions of new email addresses available now at Yahoo! http://uk.docs.yahoo.com/ymail/new.html
Re: IBatis on Spring:: error when calling SP. the SP returns cursor
Posted by Larry Meadors <la...@gmail.com>.
This looks like an Oracle error...have you tried to reproduce this
with a simpler scenario (i.e., a simple JDBC call)?
Larry
On Fri, Jun 27, 2008 at 12:59 AM, amutap <am...@gmail.com> wrote:
>
> Hi guys,
>
> I have a stored procedure that returns a cursor. my Sp has only this single
> OUT param.
>
> following is my sqlmapping:
> <resultMap id="notifications" class="lenderNtfnDTO">
> <result property="lenderId" column="LNDR_OID"/>
> <result property="lenderNotificationTypeId"
> column="LNDR_NTFN_TMPL_CD"/>
> <result property="lenderQASIdentifier" column="LNDR_QAS_IND"/>
> </resultMap>
> <parameterMap id="notificationsParameterMap" class="map">
> <parameter property="CO_LNDR_NTFN" javaType="java.sql.ResultSet"
> jdbcType="ORACLECURSOR" mode="OUT" resultMap="notifications" />
> </parameterMap>
> <procedure id="getNotificationsByLender"
> parameterMap="notificationsParameterMap" >
> {call pkg_ntfn.p_get_ntfn_by_lndr(?)}
> </procedure>
>
> here, the procedure out param (cursor) name is "CO_LNDR_NTFN".
>
> I call it using following -
> HashMap map = new HashMap();
> map.put("CO_LNDR_NTFN", null);
>
> sqlMapClientTemplate.queryForObject("getNotifications", map);
>
> notificationList = (ArrayList)map.get("CO_LNDR_NTFN");
>
> I receive following error -
>
> --- The error occurred in com/.../sqlmap/SendNotificationMap.xml.
> --- The error occurred while applying a parameter map.
> --- Check the SendNotification.notificationsParameterMap.
> --- Check the statement (update procedure failed).
> --- Cause: java.sql.SQLException: Bigger type length than Maximum; nested
> exception is com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in com/.../sqlmap/SendNotificationMap.xml.
> --- The error occurred while applying a parameter map.
> --- Check the SendNotification.notificationsParameterMap.
> --- Check the statement (update procedure failed).
> --- Cause: java.sql.SQLException: Bigger type length than Maximum
>
> I do not understand the issue is with the way I am handling the resultset or
> something is wrong with the procedure!
>
> my iBatis version is 2.3.0.677 and Spring version is 1.2.7
>
> looking forward for a reply..
>
> Thanks,
> Amit
>
> --
> View this message in context: http://www.nabble.com/IBatis-on-Spring%3A%3A-error-when-calling-SP.-the-SP-returns-cursor-tp18149219p18149219.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>