|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Bonjour,
J'ai un poste client dont la base de donnée est sous paradox, ce poste doit faire une mise à jour à partir du serveur, la mise à jour fonctionne correctement mais, parfois elle bloque. J'ai cru au début que la structure des tables du poste client est différentes de celle du serveur, grace a un copiage des anciennes structure des tables. Mais il s'est avéré que les index de ces tables étaient endommagés. Voici le fichier log qu'un réparateur des tables paradox fournie Table XXXXX - #records: 6405 Table XXXXX.DB - Number of records 45 in block 114 does not match index 46 Table XXXXX.DB - Number of records in index file is greater than the number of blocks in data file Table XXXXX - Errors fixed (#records: 5356) Table XXXXX.DB - successfuly packed Avez vous une idée?? |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 618 ![]() |
Bonjour,
Tout dépend de l'outil que tu utilises pour faire l'import et de la structure des tables. Si la clef primaire est alphanumérique alors l'ordre de tri est important "ansi intl" ou autre. J'ai donc besoin de plus de précision pour te répondre |
|
|
00
|
|
|
#3 |
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Bonjour ALWEBER ,
Le Transfert des données se fait via une connexion wifi avec le serveur, la table du serveur contient une index primaire de type auto incrément avec 40 champs et 3 index secondaires. Celle du poste client possède la même structure sauf que l'index primaire est du type entier long. L'ordre de tri est l'ordre par défaut à savoir paradox "intl" Merci. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 618 ![]() |
Dans ce cas tu peux faire le transfert dans une table temporaire sans aucun index et après faire l'ajout du contenu de cette table temporaire dans la table finale. Tu travailles avec Delphi, PAradox ou autre ?
|
|
|
00
|
|
|
#5 |
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Bonjour ALWEBER,
Merci pour votre idée que je la considère très bien. ça sera très gentil de votre part si tu me l'expliques d'avantage, sachant que je travail sous Delphi / Paradox. Est-ce que cette méthode permet d'éviter ou de réduite le risque des index cassés?? |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 618 ![]() |
Oui par ce que l'on dissocie le transfert des données de l'ajout à la table existante.
|
|
|
00
|
|
|
#7 |
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Bonjour,
Merci, mais est-ce que vous pouvez me détailler un peu ? est-ce que j'utilise le composant batchMove ou autre ? |
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 618 ![]() |
Excuse pour le retard!
Voir http://delphi.developpez.com/faq/?page=BDE Si tu as besoin de plus de détail, je vais regarder dans mes archives |
|
|
00
|
|
|
#9 |
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Bonjour ALWEBER et merci pour votre réponse ca sera très utile.
Ma question est que je dois pas copier la totalité de la table à partie du serveur, normalement je dois faire une table intermédiaire puis la copier par un TBachMove, où dois-je placer cette table intermédiaire ? **Merci** |
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 618 ![]() |
La récupération de la table qui provient du serveur se fait elle par copie ou par messagerie ?
|
|
|
00
|
|
|
#11 |
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Bonjour,
J'ai pas compris qu'es que vous voulez dire par 'messagerie' Ce que je pourrais vous dire est que les tables sont importés par des select, à partir du poste client sur le serveur. **Merci** |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com