|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Je galère depuis 1 heure sur ce pb....
J'ai ce script Code :
que j'applique sur Code :
Citation:
Bref, cette mécanique marche (et a marché) pour d'autres tables, et puis d'un coup, pof rideau, y a plus rien à en tirer d'IB Qui saurait d'où provient ce problème ? (et accessoirement comment le résoudre...) Par avance, merci.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : décembre 2004 Messages : 142 ![]() |
Salut,
ca ne va pas t'aider, mais j'ai refait tes scripts (sous IB 6)... Et, bien sûr, ça passe sans problème... Euh... , c'est idiot, mais tu as essayé sur une autre Database, pour voir ? Tu n'as aucune dépendance, genre procédure stockée, sur tes tables ? |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Hi, je me doute que ça passe sous IB, c'est un peu fait pour
Je parierai bien 100 sous sur un pb lié à un index : j'utilise CaseStudio pour générer le DDL, et je m'étais mis un Post-it pour procéder en 2 temps: 1/ toutes les créations (tables, contraintes de RI, etc...) sauf les Index 2/ les index Mais comment savoir si c'est vraiment là que le bât blesse ? Sinon, non: pas de PS ou autres triggers sur les tables incriminées
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
On a ce message quand on essaye de créer une contrainte, mais qu'il existe des données qui ne satisfont pas cette contrainte.
En clair : Vous avez des données dans votre table POINTAGE.ATE_REF qui n'existent pas dans la table ATELIER.ATE_REF. Pour vérifier celà il suffit d'executer cette requete : Code :
|
||
|
|
00
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Le nom FK_POINTAGE_1 ne serait il pas utilisé par une autre contrainte ?
Avez vous essayez : Code :
|
||
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
J'essaierai un nouveau nom de contrainte ce soir....
Cependant, j'ai, me semble-t'il, tenté cette création de toutes (?) les manières: 1/ un script issu de CaseStudio : create table suivi du add contrainte sans nom de contrainte 2/ idem ci dessus en fixant le nom de la contrainte ("relationshipXXX") 3/ create table puis sous IbExpert, ajout de la contrainte manuellement (nom attribué par IbExpert) Dans tous les cas, l'ajout de la contrainte est en échec. J'ai aussi été fouiner dans la table RDB$REF_CONTRAINT accrochée à ma DB, mais les seuls noms relevés semblent au format Interbase.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Bon en fait je ne pense pas que celà vienne du nom de la contrainte car il me semble que lorqu'on donne un nom déjà utilisé le message est du type Duplicate value...
Par contre je me souvient qu'il y a un bug dans Interbase 6 relatif à la création de FK. Votre ATE_REF de la table ATELIER n'est pas déjà référencé par une autre FK (autre que par la table POINTAGE) ? Si c'est le cas cherchez pas il me semble bien que c'est le bug. Maintenant il y a d'autres conditions pour que ce soit ce bug mais je ne me souviens plus trop. Ou si ATE_REF de la table ATELIER fait parti d'un index nommé ? Ce qui est certain c'est que c'est corrigé dans fb1.5. |
|
|
00
|
|
|
#9 | |||
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
Citation:
Citation:
FireBird me voilà (je crois que ça devient nécessaire)
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Essayez de renommez notre index par un nom >S (TEST_INDX par exemple). Idem pour les FK qui sont liées à cette colonne.
Sinon le passage à FB1.5 se fait sans soucis et de toute façon il faudra bien que vous passiez le cap un jour ou l'autre (IB6 ayant quelques soucis sur certaines plateformes). Par contre vous avez aussi le choix de passer à IB7.5 mais c'est payant. |
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Alors, la manip consiste à:
- supprimer les index que j'avais déclaré (au passage, et faute de connaissance a priori, j'avais déclaré des index sur les clés des tables alors qu'IB le fait automatiquement) - passer les ordres d'alter pour ajout des FK - recréer les index (sauf ceux en double par rapport à IB) supprimés à l'étape 1 Ca a l'air de rouler ! Merci à tous.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com