ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cornel Antohi" <cant...@kepler-rominfo.com>
Subject Re: DB2 As400 stored procedure with cursor
Date Sat, 17 Jun 2006 16:00:22 GMT
Hi Sven,

Unfortunatelly it was a mistake into the Stored Procedure ... it makes:
OPEN cursor
FETCH RELATIVE 1 ....

Sorry, false alarm.

Thank you,
Cornel


----- Original Message ----- 
From: "Cornel Antohi" <cantohi@kepler-rominfo.com>
To: <user-java@ibatis.apache.org>; <list123@pandora.be>
Sent: Saturday, June 17, 2006 5:11 PM
Subject: Re: DB2 As400 stored procedure with cursor


> Hi Sven,
>
> For me, using of beforeFirst() is strange too ...
> I am using iSeries Navigator and this AS400 client returns correctly the 
> first row!
>
> Thank you,
> Cornel
>
> ----- Original Message ----- 
> From: "Sven Boden" <list123@pandora.be>
> To: <user-java@ibatis.apache.org>
> Sent: Saturday, June 17, 2006 4:57 PM
> Subject: Re: DB2 As400 stored procedure with cursor
>
>
>>
>> What I'm trying to tell you is that normally you should not use 
>> beforeFirst(), I have never used it in the last 5 years (some JDBC 
>> drivers don't even support it). It should only be used if you want to 
>> scroll back and forth through a ResultSet (where beforeFirst will set you 
>> at the beginning of the ResultSet)....
>> Wouldn't it be logically that if you open a ResultSet it starts at the 
>> first row and not an arbitrary (second) row. This is what all JDBC 
>> drivers I used do... if the AS400 driver doesn't do it, I would consider 
>> it a broken driver. And it would cause problems with iBATIS.
>>
>> With "outside iBATIS" I meant from a query tool... Don't know what 
>> supports AS400... DbVisualizer, WinSql, AQT, ... something that can 
>> extract data from a database. My first hunch would be that your stored 
>> procedure is wrong and you will get the same missing row in such a tool.
>>
>> Regards,
>> Sven
>>
>> Cornel Antohi wrote:
>>
>>> Hi,
>>>
>>> What do you mean by "outside of iBATIS"? Directly from JDBC ... yes and 
>>> I should do a rs.beforeFirst() in order to fetch the first row ... 
>>> otherwise I will get the result starting from second row.
>>>
>>> Thank you,
>>> Cornel Antohi
>>>
>>> ----- Original Message ----- From: "Sven Boden" <list123@pandora.be>
>>> To: <user-java@ibatis.apache.org>
>>> Sent: Saturday, June 17, 2006 4:22 PM
>>> Subject: Re: DB2 As400 stored procedure with cursor
>>>
>>>
>>>>
>>>> iBATIS doesn't use "scrollable cursors", it doesn't keep state of the 
>>>> ResultSet in between calls. So beforeFirst() should be irrelevant. If 
>>>> iBATIS opens the ResultSet it will start by reading the first row, then 
>>>> the next one, until the end, close the ResultSet and then queryForList 
>>>> returns. On the other hand I've never done anything with stored 
>>>> procedures on an AS400... so maybe it's a broken/non standard thing for 
>>>> AS400 (which then won't work with iBATIS), in Oracle I never had 
>>>> problems with it.
>>>>
>>>> But did you try to already try to run the query/stored procedure 
>>>> outside of iBATIS?
>>>>
>>>> Regards,
>>>> Sven
>>>>
>>>> Cornel Antohi wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Using pure JDBC (JT400) , stored procedures using CURSOR should be 
>>>>> used like that in order to fetch the first row:
>>>>>
>>>>> ctmt = con.prepareCall("{call FPRPR_SEARCHPRODUCTS(?,?)}", 
>>>>> ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
>>>>> ....
>>>>> rs.beforeFirst();
>>>>>
>>>>> Can iBATIS do that or should I use JDBC for this task? We are using 
>>>>> iBATIS but such kind of stuff that cannot be done (or I do not know 
>>>>> the correct iBATIS solution) are very painful.
>>>>>
>>>>> Thank you for your prompt answer,
>>>>> Cornel Antohi
>>>>>
>>>>>
>>>>>
>>>>> ----- Original Message ----- From: "Sven Boden" <list123@pandora.be>
>>>>> To: <user-java@ibatis.apache.org>
>>>>> Sent: Saturday, June 17, 2006 3:48 PM
>>>>> Subject: Re: DB2 As400 stored procedure with cursor
>>>>>
>>>>>
>>>>>
>>>>>> There's nothing in iBATIS that would do that. Can you check whether

>>>>>> you get the same results with your favorite query tool.
>>>>>>
>>>>>> Regards,
>>>>>> Sven
>>>>>>
>>>>>> Cornel Antohi wrote:
>>>>>>
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I am using a stored procedure that opens a cursor and I am trying
to 
>>>>>>> obtain the results with queryForList(). Unfortunatelly I receive
the 
>>>>>>> results without the first row (first row it is skipped). Any

>>>>>>> solution to this issue?
>>>>>>>
>>>>>>> Thank you,
>>>>>>> Cornel Antohi
>>>>>>>
>>>>>>>
>>>>
>>>
>>>
>>>
>>
> 


Mime
View raw message