|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 6 ![]() |
Bonjour
Je suis face à un gros gros problème avec une appli utilisant des tables Paradox (v7). A l'ajout d'un enregistrement, il me répond 'violation de clé' Après Etude, je me suis rendu compte qu'à un moment donné, l'auto-incrément saute complètement. Donc ma question est de savoir si quelqu'un à déjà rencontré ce problème, et si une solution existe !!! Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() |
Je fais toujours:
si ton current est 5 et que tu inséres, il va écrire 6. et si 6 est lá....crac. Je ne suis pas gourou, mais je n'ai pas ce genre de probléme de cette facon. A+ |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 6 ![]() |
Donc, le problème serait un soucis de code et non un bug de paradox ?
|
|
|
00
|
|
|
#4 |
|
Membre actif
![]() ![]() Inscription : juillet 2002 Messages : 95 ![]() |
ou un probleme de corruption de Fichier
J'ai deja eu le cas, mais je ne travaille pas avec des Insert, uniquement des Append.... un rebuild de la table a tout remis en place. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 6 ![]() |
Et qu'appelles tu un rebuild de la table ?
|
|
|
00
|
|
|
#6 |
|
Membre actif
![]() ![]() Inscription : juillet 2002 Messages : 95 ![]() |
Dans Corel Paradox, tu as dans les menu une option de reparation des tables
Je regarde demain au bureau pour te dire exactement ou elle se trouve. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 6 ![]() |
Le pb, c'est d'avoir Corel Paradox
Donc si tu as quelque chose à me proposer ... Merci d'avance |
|
|
00
|
|
|
#8 |
|
Membre actif
![]() ![]() Inscription : juillet 2002 Messages : 95 ![]() |
Database Desktop, menu Tools/utilities / Restructure.
Tu ne change rien à la structure , tu coches 'pack Table' tu cliques ensutie sur Save. En ayant bien entendu fait une copie de ta table au préalable. Ca m'a deja aide une fois ou l'autre, mais rien de tel que Corel Paradox. |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() |
J'ai eu le même bleme mais le fait de restructurer ne l'a pas résolu.
J'ai donc été obligé de dumper le fichier .DB comme suit: - j'ai vu que le N° de la derniere valeur champ autoincrementé est à 32561. - J'ai ouvert le fichier .DB dans un éditeur héxadécimal. - Je me suis positionné sur l'octet 49h et 50h (qui est décrit comme emplacement de la valeur courante de l'autoincfield dans un fichier db), l'ai lu la valeur actuelle du champ qui était à 32488. DOnc effectivement, j'ai un problème à chaque ajout. - J'ai donc décidé de mettre cette valeur à 32562 (converti au préalable en en Hexa) de manière à ce que la prochaine valeur soit supérieure à la valeur maximale de la clé. - J'ai enregistré et quitté. - J'ai testé et ca marche ! Bien sûr, les sauvegardes ont été faites avant, et si tu veux l'approfondir, consulte le document "Paradox survival guide" de ce forum. a+ |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() |
Dernier petit truc :
Pour les tables paradox qui commencent à avoir une taille conséquente, je vous conseille de les restructurer en changeant la taille de blocks à 32. ceci est indispensable pour les grosses tables car sinon on à plein de désagréments comme cette histoire d'auto incrément. Par contre il faut absolument faire une copie de votre table avant, vider la table d'origine (c'est plus rapide en plus) La restructurer en mettant type de table : Paradox 7 et nb de block : 32 et ensuite ajouter les enregistrements de la sauvegarde à votre table nouvellement restructurée. sinon, et ca le fait à tout les coups sur les grosses tables, vos données sont corrompues. voilou. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com