ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikael Andersson" <mail.mi...@gmail.com>
Subject Re: Retrieve stored proc return code
Date Mon, 21 May 2007 15:51:18 GMT
Final question.

When I register an output parameter and there is a foreign key constraint
violation. I get an Exception,
org.springframework.dao.DataIntegrityViolationException, which is fine.

But when I don't register an output parameter, there is no exception thrown
and the statement fails silently. Is this the expected behaviour?

Thanks,
 Mike


On 21/05/07, Jeff Butler <jeffgbutler@gmail.com> wrote:
>
> The error is probably in your parameter map - you're likely trying to use
> a non-standard JDBC type.  Send your parameter map - that might help.
>
> Jeff Bulter
>
>
> On 5/21/07, Mikael Andersson <mail.micke@gmail.com> wrote:
> >
> > Hi Jeff,
> > when I try adding a parameter element, I get this:
> >
> > org.springframework.jdbc.UncategorizedSQLException : SqlMapClient
> > operation; uncategorized SQLException for SQL []; SQL state [JZ0SL]; error
> > code [0];
> > --- The error occurred in ibatis/COUNTRY_CONTRIBUTION_SqlMap.xml.
> > --- The error occurred while executing update procedure.
> > --- Check the { ? = call pr_JAEXP_CountryContrib_Sav(?, ?, ?, ?, ?, ?,
> > ?, ?) }.
> > --- Check the output parameters (register output parameters failed).
> > --- Cause: java.sql.SQLException: JZ0SL: Unsupported SQL type
> > -99999999.; nested exception is
> > com.ibatis.common.jdbc.exception.NestedSQLException:
> > --- The error occurred in ibatis/COUNTRY_CONTRIBUTION_SqlMap.xml.
> > --- The error occurred while executing update procedure.
> > --- Check the { ? = call pr_JAEXP_CountryContrib_Sav(?, ?, ?, ?, ?, ?,
> > ?, ?) }.
> > --- Check the output parameters (register output parameters failed).
> > --- Cause: java.sql.SQLException: JZ0SL: Unsupported SQL type -99999999.
> > Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
> > --- The error occurred in ibatis/COUNTRY_CONTRIBUTION_SqlMap.xml.
> > --- The error occurred while executing update procedure.
> > --- Check the { ? = call pr_JAEXP_CountryContrib_Sav(?, ?, ?, ?, ?, ?,
> > ?, ?) }.
> > --- Check the output parameters (register output parameters failed).
> >
> > I tried both with and without an extra ? in the in the stored procedure
> > call.
> >
> > Cheers,
> >  Mike
> >
> > On 21/05/07, Jeff Butler < jeffgbutler@gmail.com > wrote:
> > >
> > > It sounds like you're not registering an output parameter.  Here's an
> > > example:
> > >
> > > <sqlMap namespace="sqlMap">
> > >   <parameterMap class="map" id="theParameterMap">
> > >     <parameter property="rc" javaType="java.lang.Integer"
> > > jdbcType="INTEGER" mode="OUT" />
> > >     <parameter property="parm1" javaType="java.math.Integer"
> > > jdbcType="INTEGER" mode="IN" />
> > >     <parameter property="parm2" javaType="java.math.Integer "
> > > jdbcType="INTEGER" mode="IN" />
> > >   </parameterMap>
> > >
> > >   <procedure id="adder" parameterMap="theParameterMap">
> > >     {? = call some_proc (?,?)}
> > >   </procedure>
> > > </sqlMap>
> > >
> > > Jeff Butler
> > >
> > >
> > >
> > >
> > > On 5/21/07, Mikael Andersson <mail.micke@gmail.com > wrote:
> > > >
> > > > Hi,
> > > > I'm running into problems getting the return code from a sybase
> > > > stored procedure as well.
> > > >
> > > > I have tried the {? = call someproc(?,?)} construct, but it gives me
> > > > the following error message :
> > > > Cause: java.sql.SQLException : JZ0SC: Callable Statement: attempt to
> > > > set the return status as an input parameter.;
> > > >
> > > > I'm no DB guru, quite the opposite, and I've tried various
> > > > apporaches without success.
> > > > Tried defining a parameter element in the parameterMap, got an error
> > > > message.
> > > >
> > > > I have read through what I think are the relevant bits in "iBatis in
> > > > Action", but haven't found a solution yet.
> > > >
> > > > Does the stored procedure have to be created in a certain way to
> > > > allow me to grab a hold of the status code?
> > > >
> > > > Help greatly appreciated,
> > > > Mike
> > > >
> > > >
> > > >
> > > >
> > > > On 19/05/07, Jeff Butler <jeffgbutler@gmail.com > wrote:
> > > > >
> > > > > By return code, do you mean something that can be obtained like
> > > > > this:
> > > > >
> > > > > {? = call someproc(?,?)}
> > > > >
> > > > > If so, then you can use the above syntax and register an output
> > > > > parameter.
> > > > >
> > > > > Jeff Butler
> > > > >
> > > > >
> > > > >  On 5/18/07, BenBaril <benjamin.baril@fbn.ca > wrote:
> > > > > >
> > > > > >
> > > > > > Hi All,
> > > > > >
> > > > > > I know this issue has come up before, but I'm curious if there
> > > > > > is a
> > > > > > solution. I am in the process of evaluating iBatis (and we have
> > > > > > pretty much
> > > > > > decided on it) as the sql mapper for our IT-Revitalization
> > > > > > project. We have
> > > > > > over 1000 Stored Procedures in a Sybase database. So far we
have
> > > > > > gotten
> > > > > > around issues such as not having a handle on the connection
to
> > > > > > retrieve
> > > > > > RAISERROR messages from a stored procedure as well as limiting
> > > > > > the number of
> > > > > > results.
> > > > > >
> > > > > > Our problem right now is that we cannot retrieve the return
code
> > > > > > from an SP.
> > > > > > We rely heavily on return codes to determine why a stored
> > > > > > procedure may have
> > > > > > failed, and we need these codes to propagate back up the Java
> > > > > > stack so we
> > > > > > can have a handle on them.
> > > > > >
> > > > > > Is there a way to do this using iBatis right now?
> > > > > >
> > > > > > Thank you,
> > > > > > Benjamin Baril
> > > > > > --
> > > > > > View this message in context: http://www.nabble.com/Retrieve-stored-proc-return-code-tf3780537.html#a10691634
> > > > > >
> > > > > > Sent from the iBATIS - User - Java mailing list archive at
> > > > > > Nabble.com <http://nabble.com/>.
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
View raw message