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 19:55:22 GMT
Thanks for the information, I'm going to check with the guys who setup the
database configuration.

- Mike

On 21/05/07, Christopher.Mathrusse@sybase.com <
Christopher.Mathrusse@sybase.com> wrote:
>
>  Are you setting the Sybase JConnect property IGNORE_DONE_IN_PROC=true? If
> not then you probably won't see the exception unless you process all of the
> returned resultSets. This is by design. If your only interested in the last
> resultSet, the one that actually contains the error, then you will need to
> set this property on the JConnect JDBC driver. You should refer to the
> JConnect documentation for more specifics.
>
>  ------------------------------
> *From:* "Mikael Andersson" <mail.micke@gmail.com> [mailto:"Mikael
> Andersson" <mail.micke@gmail.com>]
> *Sent:* Monday, May 21, 2007 8:51 AM
> *To:* user-java@ibatis.apache.org
> *Subject:* Re: Retrieve stored proc return code
>
> 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