That might work. Truly the easy solution to the problem is to simply set
IGNORE_DONE_IN_PROC=true. There is also a global setting on the database that I
cold set that would basically set IGNORE_DONE_IN_PROC=true on a global level.
The problem there is that I have no idea how many groups and applications I
would impact with such a change. (Not recommended)
The bottom line here is that bad programming practices have been
implemented and never reviewed/revisited! Setting the property on the JDBC data
source is an easy solution. The only reason that I asked the question in the
first place is that I managed to find a bug in the JConnect JDBC driver that is
not scheduled to be fixed any time soon. Setting this property causes an
exception to be raised when I run in Jta. (Although I am told it is not Jta
related) My work-around for now it to use an older version of the driver that
does not have the problem.
I don't know how many database vendors have this type of functionality. I
know that Oracle does not because I never saw this type of behavior on my last
project. Nor did I see this on DB2. It's been a while since I worked with MS SQL
Server, but I don't recall seeing anything like this. I don't want you to
implement anything that is vendor specific. That would simply be absurd and I
could not see the need for it no matter what.
From: "Clinton Begin" <[EMAIL PROTECTED]> [mailto:"Clinton Begin" <[EMAIL PROTECTED]>]
Sent: Saturday, September 16, 2006 11:49 AM
To: [email protected]
Subject: Re: Multiple ResultSet's
Unfortunately not at this time. But I wonder if we could add support for a connection lifecycle event handler. So that when a connection is retrieved from the datasouce, you have an opportunity to manipulate it and set such properties -- without having to resort to user supplied connections all the time.
Would that work?
Thoughts?
Clinton
On 9/13/06, [EMAIL PROTECTED]
<[EMAIL PROTECTED]>
wrote:
I have a problem with the way that Sybase ASE works with stored procs and triggers. I'm working with a legacy database that is very poorly designed. All work is performed using procs and triggers and it's almost impossible to trace it all down. The problem I'm having is that ASE build results sets, know as done-in-proc result sets, for each proc that is executed. As most of the triggers on this databases tables call sp's there can be a large number of done-in-proc resultSets.The problem manifests itself when an error is raised by a proc. The execution of the SQL Statement returns but there can be multiple result sets and only the last one contains the error. The JConnect JDBC driver has a parameter that can be set, (IGNORE_DONE_IN_PROC) that tells the driver to ignore the done-in-proc result sets and only look at the last one. (NO brainner right?)My question is, is there a way to tell iBatis to only look at the last result set so I don't need to set the parameter on the connection? I know support for multiple result sets was recently added but I don't think that it was intended to be used for this type of situation.Thanks....
