Hello,
My problem is as follows: seek of a number of sequence to carry out an
importation of data in a table. I seek to recover the number of the sequence
` T_Indic_TypeService_seq' which I created on the table `
T_Indic_TypeService'. The creation of the sequence occurred well: here order
SQL: 'CREATE SEQUENCE T_Indic_TypeService_seq INCREMENT BY 1  START WITH  1
MAXVALUE 999999999999999999999999999  MINVALUE 1   NOCYCLE   CACHE 20
ORDER;'
The definition of the table is as follows in the file of mapping: 
  <!--  Mapping for IndicTypeService     -->
  <key-generator name="SEQUENCE">
    <param name="returning" value="true"/>
  </key-generator>  
  <class
name="i2.application.isoard.integration.referentiel.IndicTypeServiceData"
         identity="id" key-generator="SEQUENCE">
    <cache-type type="unlimited"/>
    <description>IndicTypeService</description>
    <map-to table="T_Indic_TypeService" />
    <field name="id" type="string" >
      <sql name="T_Indic_TypeService_ID" type="integer"/>
    </field>
    <field name="typeServiceData"
type="i2.application.isoard.integration.referentiel.TypeServiceData" >
      <sql name="T_TypeService_ID" />
    </field>
    <field name="indicateurData"
type="i2.application.isoard.integration.referentiel.IndicateurData" >
      <sql name="T_Indicateur_ID" />
    </field>
  </class>

Moreover, I have defines a class Java ` DualDAO' where I implemented the
method ` selectSequenceDual' which must enable me to recover the number of
sequence. Here the body of the method: 
  public String selectSequenceDual() throws ErreurTechnique{
    QueryResults  fResults;
    Database      fDb;
    Vector        fListe;
    OQLQuery      fRechercherParIdOql;
    try {
      fListe = new Vector();
      fDb =
((CastorDatabaseManager)CastorDatabaseManager.Init()).newDatabase();
      fDb.begin();
      fRechercherParIdOql = fDb.getOQLQuery( "SELECT
T_Indic_TypeService.indic_typeService_id_seq.NEXTVAL FROM " +
fDataClass.getName());
      fResults = fRechercherParIdOql.execute();
      while ( fResults.hasMore() ) {
        fListe.add(fResults.next());
      }
      fDb.commit();
      fDb.close();
    }
    catch(org.exolab.castor.jdo.PersistenceException exp){
      log4j.error("classe DualDAO : methode selectSequenceDual", exp);
      throw new
ErreurTechnique("erreur.integration.rechercherTousPour",exp.getMessage());
    }
    return (String)fListe.elementAt(fListe.size());
  }

At the time of the execution, the method plants on the order of the research
of the OQL: fRechercherParIdOql = fDb.getOQLQuery( "SELECT
T_Indic_TypeService.indic_typeService_id_seq.NEXTVAL FROM " +
fDataClass.getName());
Here the error message: An unknown field was requested:
T_Indic_TypeService.indic_typeService_id_seq.NEXTVAL
(i2.application.isoard.integration.commun.DualData AS sys.dual)
How to solve this problem?. Can I launch an order OQL by using ` SELECT
xxx.NEXTVAL FROM DUAL'?. I use the version of Castor-0.9.3.9.
 Thank you for your assistance. 


>       Fabienne Guilbaut
>       DGTI 
>       CETE Normandie Centre
>       *  02 35 68 81 00 poste 83 58
>       Fax    02 35 68 82 97
>     *   [EMAIL PROTECTED]
                 *   [EMAIL PROTECTED]

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

Reply via email to