The database.xml format has changed. Take a look at the examples in
the snapshot to see the difference. Mainly there is now a top level
<jdo-conf> tag and few other additions inside there as well. As far as
I know the mappings files shouldnt have to be changed at all.

hope this helps!
-Nick


On Thu, 30 Sep 2004 15:23:26 +0200, Philip DONAGHY
<[EMAIL PROTECTED]> wrote:
> 
> Hi all,
> 
> I just updated my castor jar using the daily snapshot source and I got
> this error. I am migrating from 0.9.5.3. I am using j2sdk1.4.2_04. Below
> is the stack trace, the database.xml, the mapping.xml, and even the
> source code that all works with 0.9.5.3.
> 
> unable to find FieldDescriptor for 'driver' in ClassDescriptor of
> jdo-conf
> org.xml.sax.SAXException: unable to find FieldDescriptor for 'driver' in
> ClassDescriptor of jdo-conf
>         at
> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1802)
>         at
> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1302)
>         at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
>         at
> org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1197)
>         at
> org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1862)
>         at
> org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1238)
>         at
> org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
>         at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
>         at
> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:608)
>         at
> org.exolab.castor.jdo.engine.JDOConfLoader.loadConfiguration(JDOConfLoader.java:95)
>         at
> org.exolab.castor.jdo.engine.JDOConfLoader.getDatabase(JDOConfLoader.java:134)
>         at
> org.exolab.castor.jdo.engine.DatabaseRegistry.loadDatabase(DatabaseRegistry.java:235)
>         at org.exolab.castor.jdo.JDO.getDatabase(JDO.java:584)
>         at test.finaixm.oql.LoadRte.process(LoadRte.java:26)
>         at test.finaixm.oql.LoadRte.main(LoadRte.java:60)
> 
> I checked out the jdo-conf.xsd and the mapping.xsd files but I don't see
> any anomaly.
> 
> <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor JDO Configuration DTD
> Version 1.0//EN"
>                            "http://castor.exolab.org/jdo-conf.dtd";>
> 
> <database name="aip9" engine="oracle">
>     <!-- Findev -->
>     <driver class-name="oracle.jdbc.driver.OracleDriver"
> url="jdbc:oracle:thin:@142.3.26.15:1526:AIP">
>         <param name="user" value="aiptest" />
>         <param name="password" value="aiptest" />
>     </driver>
>     <mapping href="etc/mapping.xml" />
> </database>
> 
> Mapping is XSLT generated so sorry for the formatting.
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <mapping>
> <key-generator alias="SEQ" name="SEQUENCE">
> <param value="seq_id" name="sequence"/>
> </key-generator>
> 
> <class identity="addrId " name="db.finaixm.Address" key-generator="SEQ">
> <cache-type type="none"/>
> <map-to table="AIPTEST.ADDRESS"/>
>   <field name="addmAddrMId" type="long">
> <sql name="ADDM_ADDR_M_ID"/>
> </field>
>   <field name="addrId" type="long">
> <sql name="ADDR_ID"/>
> </field>
>   <field name="codeTarget" type="string">
> <sql name="CODE_TARGET"/>
> </field>
>   <field name="codeType" type="string">
> <sql name="CODE_TYPE"/>
> </field>
>   <field name="dateCancelled" type="timestamp">
> <sql name="DATE_CANCELLED"/>
> </field>
>   <field name="dateEnd" type="timestamp">
> <sql name="DATE_END"/>
> </field>
>   <field name="dateStart" type="timestamp">
> <sql name="DATE_START"/>
> </field>
>   <field name="owner" type="string">
> <sql name="OWNER"/>
> </field>
>   <field name="txtAddress" type="string">
> <sql name="TXT_ADDRESS"/>
> </field>
>   <field name="txtRmk" type="string">
> <sql name="TXT_RMK"/>
> </field>
> 
> </class>
> 
> ..
> 
> <class identity="vid " name="db.finaixm.VorTimesheet"
> key-generator="SEQ">
> <cache-type type="none"/>
> <map-to table="AIPTEST.VOR_TIMESHEET"/>
>   <field name="codeCombTil" type="string">
> <sql name="CODE_COMB_TIL"/>
> </field>
>   <field name="codeCombWef" type="string">
> <sql name="CODE_COMB_WEF"/>
> </field>
>   <field name="codeDay" type="string">
> <sql name="CODE_DAY"/>
> </field>
>   <field name="codeDayTil" type="string">
> <sql name="CODE_DAY_TIL"/>
> </field>
>   <field name="codeEventTil" type="string">
> <sql name="CODE_EVENT_TIL"/>
> </field>
>   <field name="codeEventWef" type="string">
> <sql name="CODE_EVENT_WEF"/>
> </field>
>   <field name="codeTimeRef" type="string">
> <sql name="CODE_TIME_REF"/>
> </field>
>   <field name="codeType" type="string">
> <sql name="CODE_TYPE"/>
> </field>
>   <field name="dateValidTil" type="string">
> <sql name="DATE_VALID_TIL"/>
> </field>
>   <field name="dateValidWef" type="string">
> <sql name="DATE_VALID_WEF"/>
> </field>
>   <field name="timeRelEventTil" type="long">
> <sql name="TIME_REL_EVENT_TIL"/>
> </field>
>   <field name="timeRelEventWef" type="long">
> <sql name="TIME_REL_EVENT_WEF"/>
> </field>
>   <field name="timeTil" type="timestamp">
> <sql name="TIME_TIL"/>
> </field>
>   <field name="timeWef" type="timestamp">
> <sql name="TIME_WEF"/>
> </field>
>   <field name="vid" type="long">
> <sql name="VID"/>
> </field>
>   <field name="vorVerId" type="long">
> <sql name="VOR_VER_ID"/>
> </field>
> 
> </class>
> 
> </mapping>
> 
> And the code that is getting executed :
> 
> public void process() throws Exception {
>         // Obtain all Rte objects from the database
>         JDO jdo = new JDO();
>         jdo.setDatabaseName("aip9");
>         jdo.setConfiguration("etc/database-findev.xml");
>     jdo.setClassLoader(getClass().getClassLoader());
>         Database database = jdo.getDatabase();
>         database.begin();
>         Query queryRte = database
>                         .getOQLQuery("SELECT v FROM db.finaixm.Rte v
> WHERE verId=$");
>         queryRte.bind(new Long(1));
>         QueryResults queryResultsRte = queryRte.execute();
>         TreeBidiMap RteUidMap = new TreeBidiMap();
>         while (queryResultsRte.hasMore()) {
>                 db.finaixm.Rte element = (db.finaixm.Rte)
> queryResultsRte
>                                 .nextElement();
>                 // Insert them as RteUid objects
>                 RteUid RteUid = new RteUid(
>                                 element);
>                 RteUidMap.put(RteUid, element.getRtemCodeRteId());
>         }
>         System.out.println("size : " + RteUidMap.size());
>         queryResultsRte.close();
>         queryRte.close();
>         database.commit();
>         database.close();
> }
> 
> Thanks for any help,
> Phil
> 
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>         unsubscribe castor-dev
>



----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to