Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Candidat au titre de Membre du Club
    Profil pro Mur Mikael
    Inscrit en
    avril 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Nom : Mur Mikael

    Informations forums :
    Inscription : avril 2010
    Messages : 133
    Points : 10
    Points
    10

    Par défaut Number of records does not match index

    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??

  2. #2
    Membre chevronné
    Inscrit en
    mars 2006
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 636
    Points : 774
    Points
    774

    Par défaut

    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

  3. #3
    Candidat au titre de Membre du Club
    Profil pro Mur Mikael
    Inscrit en
    avril 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Nom : Mur Mikael

    Informations forums :
    Inscription : avril 2010
    Messages : 133
    Points : 10
    Points
    10

    Par défaut

    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.

  4. #4
    Membre chevronné
    Inscrit en
    mars 2006
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 636
    Points : 774
    Points
    774

    Par défaut

    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 ?

  5. #5
    Candidat au titre de Membre du Club
    Profil pro Mur Mikael
    Inscrit en
    avril 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Nom : Mur Mikael

    Informations forums :
    Inscription : avril 2010
    Messages : 133
    Points : 10
    Points
    10

    Par défaut

    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??

  6. #6
    Membre chevronné
    Inscrit en
    mars 2006
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 636
    Points : 774
    Points
    774

    Par défaut

    Oui par ce que l'on dissocie le transfert des données de l'ajout à la table existante.

  7. #7
    Candidat au titre de Membre du Club
    Profil pro Mur Mikael
    Inscrit en
    avril 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Nom : Mur Mikael

    Informations forums :
    Inscription : avril 2010
    Messages : 133
    Points : 10
    Points
    10

    Par défaut

    Bonjour,

    Merci, mais est-ce que vous pouvez me détailler un peu ?

    est-ce que j'utilise le composant batchMove ou autre ?

  8. #8
    Membre chevronné
    Inscrit en
    mars 2006
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 636
    Points : 774
    Points
    774

    Par défaut

    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

  9. #9
    Candidat au titre de Membre du Club
    Profil pro Mur Mikael
    Inscrit en
    avril 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Nom : Mur Mikael

    Informations forums :
    Inscription : avril 2010
    Messages : 133
    Points : 10
    Points
    10

    Par défaut

    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**

  10. #10
    Membre chevronné
    Inscrit en
    mars 2006
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 636
    Points : 774
    Points
    774

    Par défaut

    La récupération de la table qui provient du serveur se fait elle par copie ou par messagerie ?

  11. #11
    Candidat au titre de Membre du Club
    Profil pro Mur Mikael
    Inscrit en
    avril 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Nom : Mur Mikael

    Informations forums :
    Inscription : avril 2010
    Messages : 133
    Points : 10
    Points
    10

    Par défaut

    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**

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •