Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2006, 11h04   #1
Membre habitué
 
Avatar de bouchette63
 
Inscription : mai 2006
Messages : 257
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 257
Points : 143
Points : 143
Par défaut [INSERT] Erreur lors de l'ajout d'un objet

Bonjour,

J'ai besoin de votre aide pour m'éclairer sur un problème que je n'arrive pas à résoudre pour l'instant.

Mon SGBD est DB2. Je développe un progiciel consacré à gérer les informations d'une base de données (insertion, suppression, modification). J'utilise Hibernate pour faire le mapping des tables.

Lorsque j'insère dans la base, à partir de l'application, un nouveau type de document. Ben au moment de sauvegarder (lSession.save(lDbMonDoc)), il génére l'erreur suivante :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
com.ibm.db2.jcc.b.SQLException: Une ou plusieurs valeurs de l'instruction INSERT ou UPDATE ou la mise à jour 
d'une clé associée par une instruction DELETE ne sont pas correctes car la contrainte d'unicité  ou l'INDEX à entrées 
uniques de clé primaire identifié par "7" empêche la TABLE DB2ADCFG.DBTYPEDOCUMENT" d'avoir des lignes dupliquées pour ces colonnes.
 
at java.lang.Throwable.<init>(Throwable.java)
at java.sql.SQLException.<init>(SQLException.java:110)
at com.ibm.db2.jcc.b.SQLException.<init>(SQLException.java:84)
at com.ibm.db2.jcc.b.ce.d(ce.java:975)
at com.ibm.db2.jcc.a.bd.k(bd.java:312)
at com.ibm.db2.jcc.a.bd.a(bd.java:61)
at com.ibm.db2.jcc.a.r.a(r.java:64)
at com.ibm.db2.jcc.a.bq.c(bq.java:217)
at com.ibm.db2.jcc.b.cf.C(cf.java:1109)
at com.ibm.db2.jcc.b.cf.a(cf.java)
at com.ibm.db2.jcc.b.cf.executeUpdate(cf.java:322)
at com.mchange.v2.c3p0.impl.C3P0PreparedStatement.executeUpdate(C3P0PreparedStatement.java:68)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:498)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:438)
at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:732)
at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:620)
at com.cacf.ged2003.core.manager.TypeDocumentMgr.insert(TypeDocumentMgr.java)
at com.cacf.gedconf.documents.action.CreerScriptProprietesAction.tacheTraiter(CreerScriptProprietesAction.java)
at cacf.fwk.web.struts.action.ActionGenerique.execute(ActionGenerique.java:103)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)
Le plus étrange, c'est qu'avant il n'y avait pas de problèmes ???
Peut-être quelqu'un connaît son origine ?
J'ai regardé au niveau des clés migrés et des clés étrangères de ma table, mais je n'ai trouvé rien de suspect.

Merci pour votre aide
__________________
"Tout m'afflige, et me nuit, et conspire à me nuire" Racine
bouchette63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 16h10   #2
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
LE problème vient probablement de Hibernate. A ma connaissance, tu ne peux pas avec cet outils préjuger de l'ordre des opérations dans la DB. Il gère les clés étrangères lui même. Par contre si tu les définis aussi dans la DB tu risques d'avoir des soucis de ce genre.
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 23h02   #3
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 097
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 097
Points : 1 706
Points : 1 706
A lire le message d'erreur on dirait bien une violation de contrainte sur l'unicité d'un index ...
Ce qui serait intéressant de connaitre c'est l'index en cause et la/les lignes qu'on tente d'insérer ...
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 09h32   #4
Membre habitué
 
Avatar de bouchette63
 
Inscription : mai 2006
Messages : 257
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 257
Points : 143
Points : 143
Merci pour vos réponses,

Sans rien avoir changé, le problème a disparu ?
Mes suppositions par rapport à vos réponses :
- Soit un collègue a rentré manuellement des données erronées, ce qui a causé des problèmes au niveau d'Hibernate et de l'application.
- Soit ma table Index concerné par cette erreur n'était pas à jour ou, elle est rentré en conflit avec différentes données.
__________________
"Tout m'afflige, et me nuit, et conspire à me nuire" Racine
bouchette63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h08.


 
 
 
 
Partenaires

Hébergement Web