Précédent   Forum du club des développeurs et IT Pro > Bases de données > Autres SGBD > Paradox
Paradox Forum d'entraide sur Paradox, et sur Borland Database Engine
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/11/2010, 22h24   #1
sniperpro
Invité de passage
 
Mur Mikael
Inscription : avril 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : Mur Mikael

Informations forums :
Inscription : avril 2010
Messages : 98
Points : 0
Points : 0
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??
sniperpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 19h06   #2
ALWEBER
Membre chevronné
 
Inscription : mars 2006
Messages : 618
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 618
Points : 686
Points : 686
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
ALWEBER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 21h39   #3
sniperpro
Invité de passage
 
Mur Mikael
Inscription : avril 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : Mur Mikael

Informations forums :
Inscription : avril 2010
Messages : 98
Points : 0
Points : 0
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.
sniperpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 15h34   #4
ALWEBER
Membre chevronné
 
Inscription : mars 2006
Messages : 618
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 618
Points : 686
Points : 686
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 ?
ALWEBER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 17h54   #5
sniperpro
Invité de passage
 
Mur Mikael
Inscription : avril 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : Mur Mikael

Informations forums :
Inscription : avril 2010
Messages : 98
Points : 0
Points : 0
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??
sniperpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 10h59   #6
ALWEBER
Membre chevronné
 
Inscription : mars 2006
Messages : 618
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 618
Points : 686
Points : 686
Oui par ce que l'on dissocie le transfert des données de l'ajout à la table existante.
ALWEBER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 21h01   #7
sniperpro
Invité de passage
 
Mur Mikael
Inscription : avril 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : Mur Mikael

Informations forums :
Inscription : avril 2010
Messages : 98
Points : 0
Points : 0
Bonjour,

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

est-ce que j'utilise le composant batchMove ou autre ?
sniperpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h51   #8
ALWEBER
Membre chevronné
 
Inscription : mars 2006
Messages : 618
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 618
Points : 686
Points : 686
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
ALWEBER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 10h42   #9
sniperpro
Invité de passage
 
Mur Mikael
Inscription : avril 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : Mur Mikael

Informations forums :
Inscription : avril 2010
Messages : 98
Points : 0
Points : 0
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**
sniperpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 11h16   #10
ALWEBER
Membre chevronné
 
Inscription : mars 2006
Messages : 618
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 618
Points : 686
Points : 686
La récupération de la table qui provient du serveur se fait elle par copie ou par messagerie ?
ALWEBER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h28   #11
sniperpro
Invité de passage
 
Mur Mikael
Inscription : avril 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : Mur Mikael

Informations forums :
Inscription : avril 2010
Messages : 98
Points : 0
Points : 0
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**
sniperpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h54.


 
 
 
 
Partenaires

Hébergement Web