IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Insertion dans une base Oracle


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut Insertion dans une base Oracle
    salut tous le monde;
    j'ai deux tables dans une base données oracle, lorsque je veux insérer mes deux enregistrement il me donne l'erreur suivante sachant que je me base sur hiberbate pour faire mon save:

    erreur out org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
    org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:69)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
    at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1007)
    at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:354)
    at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
    at com.web.struts.action.EtatsRcAction.execute(EtatsRcAction.java:42)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.sql.BatchUpdateException: ORA-02291: violation de contrainte (SIPIC_TRIB.FK) d'intégrité - touche parent introuvable

    at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10656)
    at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
    at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
    ... 28 more
    voila ma classe(partie insertion):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    EtatsRc etatsRc=new EtatsRc(objForm.getNumeroDepot(),objForm.getCodeTribunal(),objForm.getNumRc(),objForm.getExercice(),objForm.getDateDebut(),objForm.getDateFin(),objForm.getModele(),objForm.getAbrRc(),objForm.getIdentifFisc(),objForm.getDateDepot(),objForm.getNatureDeposant(),objForm.getCinDeposant(),objForm.getNomDeposant(),objForm.getPrenomDeposant(),objForm.getMontantTaxe(),objForm.getNumeroQuittance(),objForm.getDateQuittance(),objForm.getEnvoyeTc()); 
                            sessionOracle.save(etatsRc);
                            Actes   actes=new Actes(objForm.getIdentifiant(),objForm.getNumeroDepot(),objForm.getCodeTribunal(),objForm.getNumRc(),objForm.getTypeActe(),objForm.getNatureActe(),objForm.getFormeActe(),objForm.getDateOriginal(),objForm.getNbActes());
                            sessionOracle.save(actes);
                            //Oracle EtatsRc
                            sessionOracle.getTransaction().commit();        
                            HibernateUtilDbOracle.getSessionFactory().close();

    merci pour votre aide

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Votre problème est
    Caused by: java.sql.BatchUpdateException: ORA-02291: violation de contrainte (SIPIC_TRIB.FK) d'intégrité - touche parent introuvable

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut
    Je sais bien mon Probleme mais je veux savoir comment agir est ce que en suivant cette méthodologie:


    ORA-02291: integrity constraint (string.string) violated - parent key not found
    Oracle Error :: ORA-02291

    integrity constraint (string.string) violated - parent key not found
    Cause

    A foreign key value has no matching primary key value.
    Action

    Delete the foreign key or add a matching primary key.
    Merci en tout cas.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    La valeur fournie pour la colonne indiquée par la contrainte n’existe pas dans la table parent indiquée par la contrainte.

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut
    Oui je comprend ce point mais le problème c est que moi je suis sure que la contrainte existe dèja dans la table père, par conséquent je pense que la meilleur solution est d enlever cette clé étrangère et d insérer les deux valeurs;
    merci en tout cas pour votre soutien

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    La meilleure solution consiste à garder les contraints dans la base.

Discussions similaires

  1. [ODBC] Insertion d'un fichier dans une base oracle 8i via ODBC
    Par garfield_fr dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/12/2010, 09h58
  2. Probleme d'insertion dans une base oracle
    Par FstDsi dans le forum JDBC
    Réponses: 7
    Dernier message: 26/05/2008, 12h01
  3. Insertion des fichiers pdf dans une base oracle
    Par arezki76 dans le forum SQL
    Réponses: 2
    Dernier message: 20/07/2007, 16h39
  4. [C#] Insertion dans une base Access .mdb
    Par borgfabr dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/03/2005, 15h30
  5. Réponses: 10
    Dernier message: 24/02/2005, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo