Extraire des données d’une très ancienne machine Unix

Tout d’abord, excusez-moi si cette question semble être un mur de texte, je ne peux pas penser à un moyen de le formater.

J’ai une machine avec des données précieuses (vers 1995), la machine exécute un unix (SCO OpenServer 6) avec une sorte de firebase database stockée.

Les données sont normalement accessibles via un progiciel dont la licence a expiré et les développeurs ne font plus de commerce.

Le progiciel se connecte à la machine via telnet pour récupérer des données et modifier des données (la connexion telnet ne fonctionne plus en raison de la modification de la licence).

Je peux accéder à la machine via un pilote ODBC (SeaODBC.dll) sur un réseau, c’était comme ça que je prévoyais d’extraire les données, mais jusqu’à présent, j’ai récupéré 300 000 lignes en un peu plus de 24 heures. 50 000 000 de lignes au total donc à la vitesse actuelle, cela prendra 6 mois!

J’ai besoin soit d’un moyen plus rapide d’extraire les données de la machine via ODBC, soit d’extraire la totalité du DB localement sur la machine vers un lecteur / lecteur réseau externe ou une autre source externe.

J’ai joué avec l’interface unix et les seuls fichiers volumineux que je puisse trouver sont dans une masortingce massive de dossiers à un seul caractère (par exemple, A \ G \ data.dat, A \ H \ Data.dat ect).

Est-ce que quelqu’un sait comment trouver les systèmes de firebase database installés sur la machine? J’espère que c’est un standard et que je pourrai trouver un moyen de tout exporter dans un fichier joliment formaté.

modifier

Rechercher dans le système de fichiers J’ai trouvé un dossier sous root > L qui contient beaucoup de dossiers à une lettre, chaque dossier à lettre unique contient plus de dossiers à une lettre.

Il y a aussi des fichiers qui sont nommés d’après la table dont j’ai besoin (par exemple “ooi.r”) qui ont le format suivant:

  [] l for ooi_lno, lc for ooi_lcno, s for ooi_invno, id for ooi_indate require l="AB" require ls="SO" require id=25/04/1998 {} is s sort increasing Id 

Je ne reconnais pas ces types de noms de fichiers A\G\data.dat et ainsi de suite (noms de fichiers avec des barres obliques inverses dans leur version ???) et il est probable qu’il s’agisse d’un format propriétaire. Vous pouvez essayer d’exécuter des file sur ceux-ci pour voir s’ils sont dans un format reconnu juste pour voir …

Je suggère d’améliorer la vitesse d’extraction des données sur ODBC en virtualisant le système. Un ordinateur moderne aura une mémoire plus rapide, des disques plus rapides et un processeur plus rapide, et pourra extraire les données beaucoup plus rapidement. Vous devrez extraire une image disque de l’ancien système pour la virtualiser, mais avec un peu de chance, une seule passe séquentielle lors de la lecture de tout son disque ne sera pas trop lente.

Je ne sais pas quelle est l’architecture de ce système, mais je suppose que c’est x86, ce qui signifie qu’il ne sera peut-être pas trop difficile de le virtualiser (selon la compatibilité du système d’exploitation SCO OpenServer 6 avec la virtualisation). Vous devrez utiliser un hyperviseur prenant en charge la virtualisation complète (et non la paravirtualisation).

J’ai finalement résolu le problème, en exécutant une requête en utilisant un autre outil (pas via MS Access ou MS Excel) fonctionnait énormément plus vite, finis par utiliser DaFT (Database Fishing Tool) pour sélectionner SELECT INTO un fichier texte. Traitement des 50 millions de lignes en quelques heures.

Il semble que le pilote de DLL que j’utilisais ne fonctionne pas avec les produits MS.