Parfois, quand on essaie deObtenez la dernière version dans SOLIDWORKS PDM, il y a unErreur lors de l'ouverture de l'archiveerreur semblable à celle ci-dessous :

Dans cet article, on va explorer la signification de cette erreur, les raisons pour lesquelles elle peut se produire et ce que vous pouvez faire pour la corriger.
Prenons l'exemple du fichier « DOC-00004624 down-rev test.sldprt ». L'historique de ce fichier indique que la dernière version est la 5 ; PDM ne peut donc pas la récupérer dans les archives. On remarque aussi que c'est l'administrateur système qui a enregistré la version 5 (en 2022).

Ce problème survient généralement lors des enregistrements ou des changements d'état, lorsque de nouvelles versions de fichiers sont créées.
Lorsqu'un fichier est versionné, les événements suivants se produisent :
Malheureusement, ce processus est en boucle ouverte, ce qui signifie qu'aucune validation n'est effectuée à ce stade pour vérifier que toutes les étapes ont été correctement réalisées. Par conséquent, la base de données peut croire que cette version du fichier existe dans les archives, alors que le fichier est en réalité inaccessible.
Cela peut arriver pour plusieurs raisons, mais voici les causes les plus courantes :
Pour identifier le problème, une personne disposant des droits d'accès appropriés au(x) serveur(s) PDM devra consulter les archives à la recherche du fichier manquant. Voici les étapes à suivre pour accéder à l'emplacement exact dans les archives :
Parfois (comme dans l'exemple au début de l'article), l'identifiant hexadécimal du document figure dans le message d'erreur. Sinon, il faut le déterminer à l'aide d'une requête SQL.
Voici une requête SQL qui peut être exécutée dans SQL Management Studio pour déterminer l'identifiant hexadécimal du document contenant le fichier problématique :
sélectionner DocumentID,CONVERT(varbinary(8),DocumentID) comme hexID,Nom de fichier
à partir de documents
où Filename ressemble à « Nom du fichier ici% »
Remarque: Veuillez faire appel à votre service informatique ou à votre administrateur de base de données pour effectuer cette requête si vous n'êtes pas certain de la procédure à suivre, car une exécution incorrecte pourrait endommager votre coffre-fort.
L'emplacement par défaut des archives est « C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS PDM\Data\Nom du coffre-fort ».
Cela peut toutefois être modifié en tout temps ; les archives peuvent donc se trouver ailleurs. Si vous ne savez pas où elles se trouvent, vous pouvez consulter le registre Windows sur le serveur d’archivage à la clé : « HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Applications\PDMWorks Enterprise\ArchiveServer\Vaults\[Votre coffre-fort]\ArchiveTable".
La colonne de gauche correspond au dossier d'archive, et celle de droite au chemin d'accès à ce dossier. Généralement, ces dossiers sont au même endroit, mais ils peuvent être répartis sur plusieurs disques. C'est à cet endroit que PDM place vos fichiers côté serveur lors de leur archivage. C'est aussi à partir de cet emplacement que PDM récupère les fichiers lors de leur récupération.

Il devrait y avoir un total de 16 dossiers d'archives, étiquetés 0-9 et a-f (0-15 en hexadécimal).

Chacun des 16 dossiers d'archives principaux contient de nombreux sous-dossiers, un pour chaque fichier du coffre-fort. Ces sous-dossiers sont nommés à partir de l'identifiant du document (un identificateur unique stocké dans la base de données SQL pour chaque fichier) converti en hexadécimal.

Le sous-dossier d'un fichier est conservé dans le dossier d'archives correspondant au dernier chiffre de son identifiant hexadécimal. L'identifiant hexadécimal du fichier d'exemple ci-dessus est : 00001D16. Le dernier chiffre de son identifiant est 6 ; par conséquent, il sera enregistré dans le dossier « 6 ».
Comme les noms de fichiers et de dossiers sont en hexadécimal et que Windows les classe par ordre alphanumérique, il peut être difficile de trouver le sous-dossier d'un fichier en le parcourant. Je recommande d'aller dans le dossier parent, puis de faire une recherche Windows avec le nom du dossier. Les zéros non significatifs sont obligatoires ; la recherche doit donc comporter 8 caractères.

Chaque sous-dossier contient une copie de chaque version du fichier. S'il existe 15 versions d'une pièce, son sous-dossier d'archive peut contenir jusqu'à 15 fichiers .sldprt. Au lieu d'utiliser le nom du fichier (puisqu'il est impossible d'avoir plusieurs copies d'un même fichier), les fichiers sont nommés en fonction de leur numéro de version. Ce numéro est aussi converti en hexadécimal. Le nombre de fichiers physiques peut varier selon que le serveur possède toutes les versions (elles ne sont peut-être pas encore répliquées), que les versions sont archivées à froid, compressées ou identiques à la version précédente.
Le dossier doit aussi contenir un fichier index.xml.

Une fois que le sous-dossier du fichier est localisé dans l'archive, vous pouvez comparer son contenu à ce que vous attendiez. Ces renseignements vous permettront de déterminer l'origine du problème et comment le résoudre.
Une fois dans le sous-dossier de votre fichier, vérifiez si la copie physique existe. Si c'est le cas, passez à la section suivante concernant le fichier index.xml. Le plus souvent, cependant, le fichier est tout simplement absent.

Notez les différentes versions physiques du fichier. Elles conservent l'extension, mais sont renommées en fonction de leur version. Donc, le fichier « 00000001.SLDPRT » correspond à la version 1 de ce fichier.
N'oubliez pas que la dernière version affichée dans le coffre-fort (et donc celle que la base de données considère comme présente) est la version 5. Par conséquent, toute tentative d'interaction avec ce fichier nécessitant une version physique génère une erreur d'archivage. Si le fichier est manquant, passez à l'étape suivante :Comment je peux le réparer ?« section ci-dessous.
Dans le sous-dossier du fichier archivé, vous trouverez également un fichier index.xml. Le serveur d'archivage utilise ce fichier pour identifier la version du fichier physique à envoyer à l'ordinateur client (ou à un autre serveur d'archivage dans un environnement répliqué). Si le fichier index.xml est absent ou contient des informations non valides, vous risquez de rencontrer cette erreur d'archivage.
Un double-clic sur le fichier index.xml devrait l'ouvrir dans votre visionneuse XML par défaut. Sur la plupart des serveurs, il s'agira d'Edge, mais tout programme compatible conviendra (y compris le Bloc-notes et autres traitements de texte).
Voici à quoi ressemble un fichier d'index moyen :

Même si le fichier physique est présent, si le fichier d'index présente des problèmes (fichier manquant, versions manquantes, formatage/données incorrectes, fichier vide, etc.), le service d'archivage ne pourra pas localiser le bon fichier lorsqu'un client le demandera. Si un fichier index.xml est complètement absent, vous pourrez peut-être le recréer.
La structure de base d'un fichier d'index est la suivante :
Version indexée
Il s'agit de la version du serveur d'archivage avec laquelle l'archive de fichiers a été mise à jour/créée en dernier lieu. Vous trouverez le numéro de version (FileVersion) dans le registre du serveur d'archivage, sous :
HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Applications\PDMWorks Enterprise\ArchiveServer\Vaults\[NOM_DU_COFFRE]
La version ne change que si la structure de l'archive est mise à jour (elle est différente de la version du logiciel).
Nom du fichier
Le nom du fichier dans le coffre-fort tel qu'il apparaissait lors de la création de l'archive. Veuillez noter que le nom du fichier ne sera pas mis à jour s'il est renommé dans le coffre-fort ; par conséquent, il ne correspondra souvent pas au nom réel du fichier, à l'exception de l'extension. Ce nom n'est utilisé pour aucune opération d'archivage.
Version
Informations relatives à chaque version dans l'archive. Ces renseignements indiquent au serveur d'archivage si une version est réelle, référencée, compressée ou archivée. Chaque version physique présente dans le dossier doit avoir une entrée de version pour que le serveur d'archivage puisse la trouver. Chaque entrée de version doit être unique ; le fichier d'index ne doit contenir aucune valeur de version en double. Cette valeur correspond à la colonne « RevNr » de la table « Revisions » de la base de données.
Chaque balise de version peut contenir les opérateurs suivants :
UID uid="24"
Il s'agit d'un identifiant unique de version (UID) attribué à chaque version de fichier dans le coffre-fort. Lors de la création de nouvelles versions, un UID unique est attribué à chaque version à partir d'une numérotation séquentielle. Le fichier d'index ne doit contenir aucun UID en double, et un même UID ne doit pas figurer dans un autre fichier d'index d'archive sur le même serveur d'archivage (sur un serveur répliqué, un même UID peut exister dans une archive correspondante). Cette valeur correspond à « VersionUID » dans la table de base de données « Revisions ».
L'UID est optionnel et n'est pas requis pour chaque entrée de version. Il ne sera renseigné que si une récupération manuelle a été effectuée par une machine cliente autre que celle qui a créé cette version.
Date date="2022-07-19 14:34:48"
Il s'agit d'un horodatage permettant d'associer l'image miniature (img) à une version. Les horodatages sont au format UNC. La date est facultative et n'est pas requise pour chaque entrée de version.
Statut statut="archivé"
Cette entrée s'affiche seulement si la version a été archivée (supprimée ou déplacée) selon un schéma d'archivage à froid. Aucun fichier physique ne doit exister dans l'archive pour cette version. Elle peut afficher d'autres valeurs, selon les actions effectuées.
Compression
Cette entrée s'affiche seulement si la version est compressée selon le plan de compression. Le fichier physique de cette version doit avoir l'extension .gz dans l'archive.
Réf. réf="3"
Il s'agit d'une version référencée, c'est-à-dire qu'elle a le même contenu binaire qu'une version précédente. Cela permet au serveur d'archivage de ne stocker que des copies uniques du fichier afin d'économiser de l'espace. Aucun fichier physique ne doit exister dans l'archive pour la version référencée, mais la version à laquelle elle fait référence doit exister physiquement.
Toute modification apportée à un fichier (ouverture, enregistrement, mise à jour d'une propriété personnalisée, etc.) crée une nouvelle version binaire lors de son archivage. En revanche, toute modification portant uniquement sur les données de la base de données (variables de fiches de données non associées à des propriétés personnalisées ou changements d'état sans action) crée un pointeur de référence vers une version précédente dans le fichier d'index lors de l'archivage.
Bien que beaucoup moins fréquent, ce problème peut également survenir si le compte de service du serveur d'archivage PDM ne peut accéder à aucun des 16 dossiers, sous-dossiers ou fichiers d'archive. Ce compte doit avoir un accès complet en modification à l'emplacement des archives. Il est particulièrement important de vérifier ce point si vos archives sont hébergées sur un disque non local ou si vous utilisez un compte autre que celui par défaut.
Si tel est le cas, un grand nombre de fichiers seront probablement touchés par cette erreur, et pas seulement quelques-uns.
Vous pouvez vérifier le compte utilisé en allant dans Windows. Services menu et trouver le Serveur d'archivage SOLIDWORKS PDM.

Après avoir passé en revue toutes les causes possibles de ce problème et comment identifier la cause, nous pouvons maintenant aborder quelques solutions. Vos options dépendront de l'absence de copies physiques du fichier ou d'une anomalie possible dans le fichier index.xml.
Il existe deux façons possibles de résoudre le problème du fichier manquant :
Lors de la restauration d'un fichier, JAMAIS annuler les fichiers référencés. TOUJOURS annuler un fichier à la fois (si plusieurs fichiers doivent être restaurés).
Si le fichier index.xml est manquant, il faut le recréer manuellement pour accéder aux versions de l'archive. Le plus simple est de copier un fichier index.xml d'une autre archive et de le modifier pour qu'il corresponde au contenu de l'archive défectueuse.
Notez que si le coffre-fort est répliqué, vous trouverez probablement le fichier index.xml correspondant dans le même sous-dossier d'identifiant hexadécimal sur le site répliqué. Vérifiez également dans les sauvegardes récentes du dossier d'archives si le fichier index.xml peut y être restauré.
Notez que l'absence du fichier index.xml n'est pas normale. Cela indique généralement que le service serveur d'archivage rencontre des problèmes d'accès aux fichiers, l'empêchant de créer ou de mettre à jour le fichier index.xml dans l'archive. Il se peut également que l'emplacement de stockage soit corrompu, que l'espace disque soit insuffisant, ou qu'un autre processus, comme un antivirus, bloque la création du fichier ou le supprime.
Utilisez un éditeur de texte standard (tel que le Bloc-notes) pour modifier le fichier XML. N’utilisez pas un éditeur XML comme Word, car il pourrait ajouter des sections de formatage XML non reconnues par le serveur d’archivage.
Nous utiliserons ce fichier comme exemple pour illustrer la procédure. Notez le nombre de versions attendu et les versions présentes dans son sous-dossier d'archive.







Ce SOLIDWORKS PDM Cette erreur est relativement courante chez nos clients. Dans la plupart des cas, un ou deux fichiers seulement sont touchés, et la perte de données est minime. Si votre situation diffère de celles décrites ici, si vous avez des questions concernant ces étapes, ou si vous constatez qu'un grand nombre de fichiers sont touchés, veuillez contacter votre revendeur pour obtenir de l'aide. Il dispose des outils nécessaires pour évaluer l'étendue des dégâts et des connaissances pour vous aider à planifier les prochaines étapes.
Si GoEngineer est votre revendeur, veuillez Contactez notre équipe de soutien pour obtenir de l'aide !
RACCOURCIS ⋅ RECHERCHE ⋅ COMPLÉMENT PDM
24 conseils d'experts pour maîtriser SOLIDWORKS PDM : optimisez vos performances, trouvez vos fichiers plus rapidement et travaillez comme un pro.
SOLIDWORKS PDM Attach Access : Guide complet
Règles d'importation et d'exportation XML SOLIDWORKS PDM
Mise à niveau de SOLIDWORKS PDM Vault : de la version standard à la version professionnelle
Résoudre l'erreur du module complémentaire SOLIDWORKS PDM
À propos de Jim Ward
Jim Ward fait partie de l'équipe de support SOLIDWORKS PDM de GoEngineer. Il possède un BSME de CSU, Chico. Il a travaillé en conception pendant environ 12 ans avant de passer à un rôle de support SOLIDWORKS. Ces dernières années, il s'est concentré sur SOLIDWORKS PDM Professionnel (anciennement Enterprise PDM).
Recevez directement dans votre boîte courriel notre vaste gamme de ressources techniques.
Vous pouvez vous désabonner à tout moment.