Question

Matin tout,

Je suis allé et dit à un client que je pourrais migrer certaines de leurs anciennes données d'un système basé sur DOS dans le nouveau système que je l'ai développé pour eux. Cependant, je dit que sans regarder réellement les fichiers stockés que les données dans l'ancien système - Je me suis juste un rapide Google résoudrait pour moi tout le problème ... je me suis trompé

Quoi qu'il en soit, ce programme a un dossier avec des centaines ... et 800 fichiers avec toutes sortes d'extensions de fichiers, .ave, .bak, .brw, .dat, .001, .002 ...., 0,007, .dbf, .dbe et .HIS.

.bak est évidemment pas un fichier de sauvegarde SQL.

Quelqu'un at-il une expérience de programmation en utilisant l'un de ces types de fichiers qui peuvent être en mesure de me diriger dans la direction d'une certaine façon de lire et d'extraire les données?

Je ne peux pas mentionner le nom du programme pour la raison que je ne pense pas que le développeur original permettra à ...

Merci.

Était-ce utile?

La solution

Je suis prêt à parier que le fichier .dbf est format dBase , ce qui est vraiment simple. Le contenu de ce pourrait fournir des indices sur le reste d'entre eux.

Autres conseils

le « fichier » unix utilitaire peut être utilisé pour reconnaître de nombreux types de fichiers par leur « nombre magique ». Il examine le contenu et le compare avec des milliers de formats connus du fichier. Si les fichiers sont en tout type de format commun, cela peut probablement vous faire économiser une bonne quantité de travail.

si elles ne sont pas dans un format commun, il peut vous envoyer à courir après diversions. Prenez ses suggestions seulement que, suggestions.

En complément des sites proposés par Greg et Dmitriy , il y a aussi le dépôt de fichier formats http://www.wotsit.org ( "Quel est son format?").

Si cela ne fonctionne pas, un bon éditeur hexadécimal (avec affichage de décharge) est votre ami ... Je l'ai toujours trouvé incroyable de voir comment il peut être facile à lire et à reconnaître de nombreux formats de fichiers.

Peut-être quelque chose. La meilleure façon est d'ouvrir avec un éditeur hexadécimal , voir ce que vous pouvez voir

La plupart des anciens systèmes ont utilisé un ISAM de base qui avait un fichier par table qui contenait un ensemble d'enregistrements de données de longueur fixe. Les autres fichiers seraient probablement index

Comme vous avez seulement besoin des données, pas l'index, il suffit de regarder les fichiers avec des motifs répétitifs de données (il ressemble souvent à de jolis motifs sur l'écran de l'éditeur hexadécimal)

Lorsque vous trouvez le fichier avec les données, essayez de localiser un enregistrement de savoir par exemple « M. Smith » et voyez si vous pouvez travailler les autres domaines. Entiers sont souvent octet par octet, les dates sont souvent codées et les jours d'une date de début connue, l'argent pourrait être en BCD

Si vous voyez un modèle fort, alors très probablement chaque enregistrement est une longueur fixe. Il y aura probablement un bloc d'en-tête dire sur le fichier 128 ou 256 octets, puis les enregistrements de longueur fixe

Beaucoup ancien système où écrit en COBOL. Il y a beaucoup d'informations sur les formats de re cobol net, et certaines entreprises vendent même les pilotes ODBC COBOL!

Je pense que Greg a raison sur le fichier .dbf. Vous devriez essayer de trouver des informations sur d'autres formats de fichiers en utilisant des sites comme http://filext.com et http://dotwhat.net . Le fichier .bak est généralement une copie d'un autre fichier avec le même nom, mais une autre extension. Par exemple il peut y avoir database.dbf fichier et database.bak fichier avec la sauvegarde de celui-ci. Vous devriez demander (si possible) pour tous les détails / documentation / code source d'application qui a utilisé que les fichiers de votre client.

Retour dans les jours DOS, les programmeurs utilisés pour compenser leurs propres extentions de fichiers à peu près comme ils l'entendent. Le DBF pourrait bien être un fichier DBase qui est assez facile à lire, et le BAK est probablement une sauvegarde de l'un des autres fichiers importants, ou tout simplement une sauvegarde gauche par un éditeur de texte.

Pour les fichiers restants, la première chose que je voudrais faire est de vérifier si elles sont dans un format ASCII lisible en les ouvrant dans un éditeur de texte.

Si cela ne vous donne pas un bon résultat, essayez de les ouvrir dans un éditeur binaire qui montre à côté de l'hexagone de côté et ASCII avec caractères de contrôle biffées. Cherchez la répétition des motifs qui pourraient correspondre à enregistrer les champs. Par exemple, supposons que le .HIS était quelque chose comme un fichier histrory de commande, il peut contenir des codes ou des noms de produits embarqués. Si tel est le cas, compter le nombre d'octets entre ces champs. Si c'est un nombre régulier, vous avez probablement un fichier binaire plat d'enregistrements. Il est préférable de décodée en ouvrant le fichier dans l'application, à la recherche de valeurs dans un enregistrement donné, et la recherche des valeurs correspondantes dans le fichier binaire. Beaucoup de temps et une douleur dans le cul, mais assez pratique une fois que vous obtenez le coup de lui.

Happy Hacking!

DBF est une base de données dBase ou au début de FoxPro.

.DAT a été utilisé par Btrieve et IIRC Paradox pour DOS.

Les fichiers .dbe et .00x sont probablement soit des fichiers temporaires ou index liés aux fichiers .DAT.

.DBF est facile. Ils ouvrent avec MS Access ou Excel (versions pré-2007 d'Office, de toute façon), ou avec ADO ou ODBC.

Si les fichiers .DAT sont en effet Btrieve, vous êtes dans un monde de souffrance. Ils sont un gâchis, même si vous pouvez mettre la main sur la bonne version du dictionnaire de données et une copie de la structure Btrieve. (Été là, fait que, usaient le t-shirt avant que je me suis fait.)

Comme d'autres l'ont suggéré, je recommande un éditeur hexadécimal si vous ne pouvez pas comprendre ce que ces fichiers sont et que DBF est probablement Dbase.

BAK semble être un fichier de sauvegarde. Je pense que * .001, * .002, etc pourrait faire partie de la sauvegarde. Sont-ils tous de la même taille? Peut-être que la sauvegarde a été divisé en petits morceaux afin qu'il puisse s'adapter sur un support amovible?

Enfin, prenez cela comme une leçon de vie. Avant d'envoyer cette déclaration de travail sur, si le client vous demande d'importer les données du Système A au système B, demandez toujours le schéma de l'échantillon et des échantillons de données et des exemples de fichiers. Beaucoup de fois les choses qui semblent remettre en avant tout droit d'être des cauchemars.

Bonne chance!

Assurez-vous d'utiliser la date de modification des fichiers comme des indices, si le .001, .002, etc ont tous horodateurs similaires, peut-être le long de la BAK, ils pourraient faire partie de la sauvegarde. De plus il peut y avoir un vieux cochonneries dans le répertoire que vous pouvez (un peu en toute sécurité) ignorer. Recherchez les fichiers .BAT et essayer de les disséquer ainsi.

Un conseil, si les fichiers .dbf sont dBase, FoxPro, ou l'un des autres produits qui ont utilisé ce format. Ensuite, vous pourrez peut-être de les lire en utilisant ODBC. Mon système a toujours le pilote ODBC pour .dbf (Vista, avec VS 2008 - comment il est arrivé là-bas je dois chasser, mais je suppose que c'était MDAC Microsoft Data Access qui a mis que là-bas). Donc, vous ne pouvez pas avoir un « monde de détricotage à faire », si le pilote ODBC lira les fichiers .dbf.

Je crois me souvenir (avec un peu de confiance il y a bricoleur dBase III plus de 20 ans) que DBase utilisé .001, .002, ... fichier pour les champs de mémo (grand texte).

Bonne chance de récupérer les données.

Le format DBF est assez commun.

Les autres fichiers sont déroutants. Je devine que ce soit vous traitez avec les anciens fichiers BTrieve (mauvais), ou (je l'espère) avec les résultats de certains système de sauvegarde mal conçu où quelqu'un sauvegardé sa base de données dans le même répertoire plutôt que sur le disque dur dans lequel cas, vous pouvez les ignorer.

Il fait maintenant partie de Pervasive, mais j'ai utilisé, il y a quelques années, Junction données pour migrer des données à partir de lots de types de fichiers à d'autres. Jetez un coup d'oeil, sauf si vous voulez écrire un analyseur syntaxique.

.dat peut également être vieux fichiers Clarion 2.1 ... Il fonctionne sur une base ISAM également, avec des fichiers clé / index

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top