Comment puis-je exporter des données dans une application DOS héritée lorsqu'aucune option d'exportation n'est disponible?

StackOverflow https://stackoverflow.com/questions/420762

  •  05-07-2019
  •  | 
  •  

Question

Mon client a été chargé d'exporter les données d'un système DOS existant, à l'aide d'une base de données RAIMA , afin de pouvoir les importer dans un nouveau système que nous écrivons pour eux. Il semble que les données soient stockées dans un format de fichier plat, bien que lorsque nous ouvrons les fichiers, la plus grande partie du texte est du charabia.

Nous voyons Raima Database Manager en haut des fichiers que nous avons ouverts ... Nous avons essayé Google sur ce terme et il semble que ce soit un ancien format de base de données. Inutile de dire que le fournisseur qui a écrit le logiciel ne le prend plus en charge. Existe-t-il un autre moyen d'obtenir l'exportation de ces données?

Existe-t-il un moyen de supprimer automatiquement les données de l'écran?

Remarque

C’est un système de facturation simple, toutes les informations sont affichées sur un seul écran de l’application.

Était-ce utile?

La solution

pour Raima Data Manager version 3.21A Cet article indique que l'application a probablement été écrit en C et a utilisé le langage de définition de données Raima pour structurer les fichiers; recherchez quelque chose de similaire dans les fichiers. Vérifiez les fichiers .dbd et .tbl; vous devrez peut-être les afficher avec un VI tel que a un mode hexadécimal. Il est très probable que les structures de données soient intégrées à l’un des fichiers.

Modifier:

voici quelques liens qui pourraient vous mener à plus d'informations

http://www.raima.com/

http://www.raima.com/database_technology/rdm.php3 http://www.raima.com/database/download.php3

http: //database.ittoolbox .com / topics / t.asp? t = 411 & amp; p = 415 & amp; h1 = 411 & amp; h2 = 412 & amp; h3 = 415

http://www.faqs.org/faqs/databases/free- bases de données /

http://www.ittia.com/products/ittia_odbc.html

http://www.mactech.com /articles/mactech/Vol.07/07.02/db_VistaIII/index.html

Autres conseils

Raima semble toujours être en cours, il peut être utile de leur envoyer un courrier ou de voir si l'un de leurs nouveaux produits est compatible avec les versions antérieures. Dans le cas contraire, il s’agit d’un processus de reverse engineering de l’application consistant à extraire les données de celle-ci ou à déterminer le format du fichier.

il serait utile de savoir quelle version de Raima Database Manager a été utilisée; db_Vista ou RDM ou Velocis ou RDM intégré ? L’époque approximative à laquelle l’application DOS a été écrite aiderait à préciser la version possible.

RDM Embedded a été publié en open source par Centura vers 2000, puis renommé db.linux. Vous trouverez peut-être dans le code source des informations éclairant la structure des fichiers.

Dans tous les cas, db_Vista est né en 1982, il s’agit donc probablement d’un système de fichiers / index B-Tree.

En deuxième option (ou peut-être en dernier recours), si Raima ne peut vous aider, vous pouvez utiliser un outil d'automatisation pour extraire les informations de l'écran et les analyser. Etant donné qu’il s’agit d’une application DOS, si elle peut être exécutée dans une fenêtre de console Windows, j’utiliserais un outil tel que Aubergine , TestComplete , ou HighTest . Ces outils sont tous conçus principalement pour l’automatisation des tests via l’interface graphique ou l’interface utilisateur, mais sont plutôt efficaces pour ce type de travail. Je pense que Hightest avait une version DOS de retour dans la journée.

L’autre option pourrait être d’utiliser le mécanisme de rapport utilisé par l’application DOS pour imprimer toutes les données de l’application dans un fichier texte (via la redirection de prn:), puis l’analyser à partir du format de texte brut. travail (bien que regex puisse rapidement analyser la merde superflue) mais je l’ai fait.

L'application DOS s'exécutera-t-elle dans une fenêtre de commande sous Windows XP? Si tel est le cas, vous pourrez peut-être couper et coller les données dans un éditeur de texte ou une feuille de calcul.

Une autre idée me vient à l’esprit. Vous pouvez utiliser Java Robot ou même un code API Win simple pour envoyer des frappes de clavier à la fenêtre de commande afin de parcourir les enregistrements. C'est la moitié de votre bataille. Il semble que la fenêtre de commande comporte une option permettant de "Sélectionner tout", en la combinant avec le bouton "Copier". commande et vous devriez être mis.

Vous devriez également probablement passer 20 minutes à éliminer la possibilité que le format de la base de données ne soit pas chose courante à cette époque - db3, Paradox, Filemaker ou similaire - mais avec des extensions de fichier renommées. Essayez d’ouvrir dans Excel ou similaire en spécifiant le format (ajoutez d’abord les filtres supplémentaires à Excel si vous en avez besoin). La base de données Borland était également très utile pour ce type d’examen.

C’est un long plan, mais c’est rentable pour moi à plusieurs reprises lorsque certains formats de fichiers «obscurs» se sont révélés être une version obscure de quelque chose de beaucoup plus courant (db3 en particulier). En dehors de l’ère DOS, j’ai trouvé des fichiers Access obfusticated surgissant de temps en temps aussi.

Raima (au moins les versions que j'utilise) est fourni avec un outil appelé datdump qui écrit les fichiers de données dans un format lisible par l'homme. Il existe également un outil appelé dbexp qui peut générer des fichiers CSV à partir d’une base de données Raima.

Je parie que les braves gens de Raima pourraient vous aider. Je sais qu'ils sont toujours là. Je vois que leur site Web affiche même le format de fichier de leurs fichiers de données dans sa zone de support. Cela peut changer d’une version à l’autre de Raima, mais cela devrait vous donner une bonne idée sur la façon de commencer à écrire votre propre code d’extraction.

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