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

Reply via email to