Another attempt ...

Do you think the AccessMode could be the problem ? I just received the SQL
statement with the getSQL() method of the OQLQueryImpl. It shows the
following:

SELECT .... FROM EDILBEPO WHERE (EDILBEPO.EPFINR = ?1 AND EDILBEPO.EPAUFN =
?2) FOR UPDATE

Maybe I need a unique key in my table for the FOR UPDATE ? I don't have a
unique key. Maybe this is the reason why I can only fetch the first record
of the recordset ?

BR,
Konni



Ralf Joachim-2 wrote:
> 
> Hi Konni,
> 
> I use Castor myself in quite some projects and have never seen these 
> kind of problem wether on mysql, postgresql, sapdb, hsql nor oracle. As 
> far as I know it is the same with Werner how have also tested Castor 
> with some other database engines. Therefore his and my guess if it may 
> be related to the database driver. Another option would be a problem in 
> the database specific part of Castor. Having said that I never needed to 
> pass scrollable parameter to the query.execute(...) method as it always 
> worked out of the box.
> 
> My problem is that I do not have experience nor access to db/2 
> especially not on AS400. So I am not able to debug myself to find out 
> the reason of the problem.
> 
> To your questions. SimpleQueryExecutor is used internally to execute 
> simple queries in some situations. OQLQuery is an interface and 
> OQLQueryImpl its only implementation.
> 
> Have you tried to load the objects with db.load(...) as a test if Castor 
> can load the objects?
> 
> Regards
> Ralf
> 
> 
> Konni schrieb:
>> I'm using the latest version of the JDBC driver for AS400. I just
>> downloaded
>> it from jt400.sourceforge.net. But I don't know any details about the
>> JDBC
>> specs of this driver. But I already used this driver with normal JDBC
>> connections and the resultsets are scrollable by default. So I don't know
>> why there is a problem between this driver and Castor JDO. Are there any
>> workarounds ? What about OQLQueryImpl or SimpleQueryExecutor ? What is
>> the
>> difference to OQLQuery ?
>> 
>> BR,
>> Konni
>> 
>> 
>> 
>> 
>> Werner Guttmann wrote:
>>> Could this actually be a problem of the JDBC driver for DB2 on AS400 ? 
>>> What version of the JDBC driver are you using for DB2, and what version 
>>> of the JDBC spec does it actually implement ?
>>>
>>> Werner
>>>
>>> Konni wrote:
>>>> I have some new information.
>>>>
>>>> I coded the result.size() after the first result.next() operation. Now
>>>> I
>>>> get
>>>> the correct size of the resultset (3 records). But when I code a
>>>> result.hasMore() directly after the first result.next() then I get
>>>> false.
>>>>
>>>> I think this means that the resultset doesn't seem to be scrollable. I
>>>> already tried the OQLQueryImpl with the option true, but this also
>>>> doesn't
>>>> work.
>>>>
>>>> Any thoughts ?
>>>>
>>>> BR,
>>>> Konni
>>>>
>>>>
>>>>
>>>> Konni wrote:
>>>>> ooopps, the rest of my reply hes been ignored. Here is my mapping file
>>>>> again:
>>>>>
>>>>> <mapping>
>>>>> <description>Mapping zur DATEI EDILBEPO</description>
>>>>>
>>>>> <class name="bestellung.EDILBEPO" identity="AUFN">
>>>>>     <map-to table="EDILBEPO" />
>>>>>
>>>>>     <field name="FINR" type="big-decimal" >
>>>>>       <sql name="EPFINR" type="numeric"/>
>>>>>     </field>
>>>>>   <field name="AUFN" type="big-decimal" >
>>>>>       <sql name="EPAUFN" type="numeric"/>
>>>>>     </field>
>>>>>   <field name="POS" type="big-decimal" >
>>>>>       <sql name="EPPOS" type="numeric"/>
>>>>>     </field>
>>>>>   <field name="BMENG" type="big-decimal" >
>>>>>       <sql name="EPBMENG" type="numeric"/>
>>>>>     </field>
>>>>>   <field name="WDATU" type="big-decimal" >
>>>>>       <sql name="EPWDATU" type="numeric"/>
>>>>>     </field>
>>>>>     <field name="ARTND" type="string" >
>>>>>       <sql name="EPARTND" type="char"/>
>>>>>     </field>
>>>>>     <field name="BEZGD" type="string" >
>>>>>       <sql name="EPBEZGD" type="char"/>
>>>>>     </field>
>>>>>   <field name="ARTNL" type="string" >
>>>>>       <sql name="EPARTNL" type="char"/>
>>>>>     </field>
>>>>>   <field name="BEZGL" type="string" >
>>>>>       <sql name="EPBEZGL" type="char"/>
>>>>>     </field>
>>>>>   <field name="PTXT" type="string" >
>>>>>       <sql name="EPPTXT" type="char"/>
>>>>>     </field>
>>>>>
>>>>>   </class>
>>>>>  
>>>>> </mapping>
>>>>>
>>>>>
>>>>> Konni wrote:
>>>>>> Here is my answer:
>>>>>>
>>>>>> which version of Castor do you use?
>>>>>> castor-1.1.2.1
>>>>>>
>>>>>> which database, database version, driver and driver version do you
>>>>>> use?
>>>>>> here is my jdo_config.xml with the requested information:
>>>>>>
>>>>>> <?xml version="1.0"?>
>>>>>>   <jdo-conf name="Castor JDO Konfiguration">
>>>>>>      
>>>>>>   <database name="DENTAL" engine="db2">
>>>>>>         <driver class-name="com.ibm.as400.access.AS400JDBCDriver"
>>>>>>                 url="jdbc:as400://server/lib">
>>>>>>            user"/>
>>>>>>            pwd"/>
>>>>>>         </driver>
>>>>>>         <mapping href="Mapping_EDILBEKO.xml"/>
>>>>>>  <mapping href="Mapping_EDILBEPO.xml"/>
>>>>>>      </database>
>>>>>>   
>>>>>>      <transaction-demarcation mode="local"/>
>>>>>>   </jdo-conf>
>>>>>>
>>>>>>
>>>>>> do your EDILBEPO class have a identity defined in mapping?
>>>>>> here is the mapping:
>>>>>>
>>>>>> <mapping>
>>>>>> <description>Mapping zur DATEI EDILBEPO</description>
>>>>>>
>>>>>> <class name="bestellung.EDILBEPO" identity="AUFN">
>>>>>>     <map-to table="EDILBEPO" />
>>>>>>
>>>>>>     <field name="FINR" type="big-decimal" >
>>>>>>       <sql name="EPFINR" type="numeric"/>
>>>>>>     </field>
>>>>>>  <field name="AUFN" type="big-decimal" >
>>>>>>       <sql name="EPAUFN" type="numeric"/>
>>>>>>     </field>
>>>>>>  <field name="POS" type="big-decimal" >
>>>>>>       <sql name="EPPOS" type="numeric"/>
>>>>>>     </field>
>>>>>>  <field name="BMENG" type="big-decimal" >
>>>>>>       <sql name="EPBMENG" type="numeric"/>
>>>>>>     </field>
>>>>>>  <field name="WDATU" type="big-decimal" >
>>>>>>       <sql name="EPWDATU" type="numeric"/>
>>>>>>     </field>
>>>>>>     <field name="ARTND" type="string" >
>>>>>>       <sql name="EPARTND" type="char"/>
>>>>>>     </field>
>>>>>>     <field name="BEZGD" type="string" >
>>>>>>       <sql name="EPBEZGD" type="char"/>
>>>>>>     </field>
>>>>>>  <field name="ARTNL" type="string" >
>>>>>>       <sql name="EPARTNL" type="char"/>
>>>>>>     </field>
>>>>>>  <field name="BEZGL" type="string" >
>>>>>>       <sql name="EPBEZGL" type="char"/>
>>>>>>     </field>
>>>>>>  <field name="PTXT" type="string" >
>>>>>>       <sql name="EPPTXT" type="char"/>
>>>>>>     </field>
>>>>>>
>>>>>>   </class>
>>>>>>  
>>>>>> </mapping>
>>>>>>
>>>>>> do you use Castor caching for EDILBEPO?
>>>>>> no
>>>>>>
>>>>>> does EDILBEPO implement Timestampable interface?
>>>>>> no
>>>>>>
>>>>>>
>>>>>>
>>>>>> Ralf Joachim-2 wrote:
>>>>>>> Hi Konni,
>>>>>>>
>>>>>>> I've never seen that problem. Please give us some more info to get
>>>>>>> an 
>>>>>>> idea of what may be going wrong.
>>>>>>>
>>>>>>> which version of Castor do you use?
>>>>>>> which database, database version, driver and driver version do you
>>>>>>> use?
>>>>>>> do your EDILBEPO class have a identity defined in mapping?
>>>>>>> do you use Castor caching for EDILBEPO?
>>>>>>> does EDILBEPO implement Timestampable interface?
>>>>>>>
>>>>>>> Regards
>>>>>>> Ralf
>>>>>>>
>>>>>>> Konni schrieb:
>>>>>>>> I have 3 records with the same FINR and AUFN in my table EDILBEPO.
>>>>>>>> When
>>>>>>>> I
>>>>>>>> read the resultset, I only get the first record. What could be
>>>>>>>> wrong
>>>>>>>> ?
>>>>>>>> The
>>>>>>>> result_p.size() ended in a PersistenceException: Cursor not in a
>>>>>>>> valid
>>>>>>>> state.
>>>>>>>>
>>>>>>>> Here is the code:
>>>>>>>>
>>>>>>>>
>>>>>>>>               // Positionen verarbeiten
>>>>>>>>               oql_p = db.getOQLQuery("SELECT P FROM
>>>>>>>> bestellung.EDILBEPO
>>>>>>>> P
>>>>>>>> WHERE P.FINR=$1 AND P.AUFN=$2");
>>>>>>>>               oql_p.bind(new BigDecimal(finr));
>>>>>>>>               oql_p.bind(new BigDecimal(aufnr));
>>>>>>>>
>>>>>>>>               result_p = oql_p.execute();
>>>>>>>>               // System.out.println("Anzahl Positionen: " +
>>>>>>>> result_p.size());
>>>>>>>>               while (result_p.hasMore()) {
>>>>>>>>                     bepo = (EDILBEPO) result_p.next();
>>>>>>>>                     eppos = bepo.getPOS();
>>>>>>>>                     epbmeng = bepo.getBMENG();
>>>>>>>>                     epwdatu = bepo.getWDATU();
>>>>>>>>                     epartnd = bepo.getARTND();
>>>>>>>>                     epbezgd = bepo.getBEZGD();
>>>>>>>>                     epartnl = bepo.getARTNL();
>>>>>>>>                     epbezgl = bepo.getBEZGL();
>>>>>>>>                     epptxt = bepo.getPTXT();
>>>>>>>>                     .
>>>>>>>>                     .
>>>>>>>>                     .
>>>>>>>>                     }
>>>>>>> -- 
>>>>>>>
>>>>>>> Syscon Ingenieurbüro für Meß- und Datentechnik GmbH
>>>>>>> Ralf Joachim
>>>>>>> Raiffeisenstraße 11
>>>>>>> 72127 Kusterdingen
>>>>>>> Germany
>>>>>>>
>>>>>>> Tel.   +49 7071 3690 52
>>>>>>> Mobil: +49 173 9630135
>>>>>>> Fax    +49 7071 3690 98
>>>>>>>
>>>>>>> Internet: www.syscon.eu
>>>>>>> E-Mail: [EMAIL PROTECTED]
>>>>>>>
>>>>>>> Sitz der Gesellschaft: D-72127 Kusterdingen
>>>>>>> Registereintrag: Amtsgericht Stuttgart, HRB 382295
>>>>>>> Geschäftsleitung: Jens Joachim, Ralf Joachim
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe from this list please visit:
>>>>>>>
>>>>>>>     http://xircles.codehaus.org/manage_email
>>>>>>>
>>>>>>>
>>>>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list please visit:
>>>
>>>     http://xircles.codehaus.org/manage_email
>>>
>>>
>>>
>> 
> 
> -- 
> 
> Syscon Ingenieurbüro für Meß- und Datentechnik GmbH
> Ralf Joachim
> Raiffeisenstraße 11
> 72127 Kusterdingen
> Germany
> 
> Tel.   +49 7071 3690 52
> Mobil: +49 173 9630135
> Fax    +49 7071 3690 98
> 
> Internet: www.syscon.eu
> E-Mail: [EMAIL PROTECTED]
> 
> Sitz der Gesellschaft: D-72127 Kusterdingen
> Registereintrag: Amtsgericht Stuttgart, HRB 382295
> Geschäftsleitung: Jens Joachim, Ralf Joachim
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Only-one-result-from-resultset-tf4645829.html#a13290681
Sent from the Castor - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to