Come posso esportare i dati in un'applicazione DOS legacy quando non è disponibile alcuna opzione di esportazione?

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

  •  05-07-2019
  •  | 
  •  

Domanda

Il mio cliente ci ha affidato il compito di esportare dati da un sistema DOS legacy, utilizzando un database RAIMA , in modo che possano essere importati in un nuovo sistema che stiamo scrivendo per loro. Sembra che i dati siano archiviati in un formato file piatto, anche se quando apriamo i file la maggior parte del testo è incomprensibile.

Vediamo Raima Database Manager nella parte superiore dei file che abbiamo aperto ... Abbiamo cercato su Google quel termine e sembra che sia un vecchio formato di database. Inutile dire che il fornitore che ha scritto il software non lo supporta più. Esiste un altro modo per esportare questi dati?

Esiste un modo per eliminare automaticamente i dati dallo schermo?

Nota

È un semplice sistema di fatturazione, tutte le informazioni sono su una singola schermata nell'applicazione.

È stato utile?

Soluzione

per Raima Data Manager Versione 3.21A Questo articolo indica che l'app è stato probabilmente scritto in C e ha usato Raima Data Definition Language per strutturare i file - cerca nei file qualcosa di simile controlla .dbd e .tbl - potresti doverli visualizzare con qualcosa come VI che ha una modalità esadecimale. È molto probabile che le strutture di dati siano incorporate in uno dei file.

Modifica

ecco alcuni link che potrebbero portarti a maggiori informazioni

http://www.raima.com/

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

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

http://www.faqs.org/faqs/d Database/free- database /

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

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

Altri suggerimenti

Raima sembra ancora andare, potrebbe valere la pena lasciargli una mail o vedere se uno dei loro nuovi prodotti è retrocompatibile. In caso contrario, è il caso di decodificare l'app per scaricare i dati da essa o capire il formato del file.

sarebbe utile sapere quale versione di Raima Database Manager è stata utilizzata; db_Vista o RDM o Velocis o RDM Embedded ? L'era approssimativa in cui è stata scritta l'app DOS contribuirebbe a restringere la versione possibile.

RDM Embedded è stato rilasciato come open source da Centura intorno al 2000 e poi rinominato in db.linux. Potresti trovare alcune informazioni nel codice sorgente che fanno luce su come hanno strutturato i file.

In ogni caso db_Vista è nato nel 1982, quindi è probabilmente un sistema di indicizzazione / file B-Tree.

Come seconda opzione (o forse ultima risorsa), se Raima non può aiutarti, puoi utilizzare uno strumento di automazione per eliminare le informazioni dallo schermo e analizzarle. Dato che è un'app DOS, se è possibile eseguirla in una finestra della console di Windows, utilizzerei uno strumento come Eggplant , TestComplete o HighTest . Questi strumenti sono tutti progettati principalmente per l'automazione dei test tramite la GUI o l'interfaccia utente, ma sono abbastanza buoni per questo tipo di lavoro. Penso che Hightest avesse una versione DOS in passato.

L'altra opzione potrebbe essere quella di utilizzare qualunque meccanismo di reporting l'app dos debba stampare tutti i dati dell'applicazione in un file di testo (tramite il reindirizzamento di prn:) e quindi analizzarli dal formato di testo semplice: sarebbe un sacco di lavoro (anche se regex può analizzare rapidamente la merda superflua) ma l'ho fatto.

L'applicazione DOS verrà eseguita in una finestra di comando in Windows XP? In tal caso, potresti essere in grado di tagliare e incollare i dati in un editor di testo o foglio di calcolo.

Un'altra idea mi viene in mente. È possibile utilizzare Java Robot o anche un semplice codice API Win per inviare sequenze di tasti alla finestra di comando per sfogliare i record. Questa è metà della tua battaglia. Sembra che la finestra di comando abbia un'opzione per " Seleziona tutto " ;, combinalo con " Copia " comando e dovresti essere impostato.

Probabilmente dovresti anche passare venti minuti a respingere la possibilità che il formato del database non sia qualcosa di comune per quell'epoca - db3, Paradox, Filemaker o simili - ma con le estensioni dei file rinominate. Prova ad aprire in Excel o simili specificando il formato (aggiungi prima i filtri extra ad Excel se ne hai bisogno). Anche Borland's Database Desktop era utile per questo tipo di esame.

È un colpo lungo, ma è stato ripagato da me in diverse occasioni in cui un formato di file "oscuro" si è rivelato essere una versione offuscata di qualcosa di molto più comune (in particolare db3). Al di fuori dell'era di DOS, di tanto in tanto ho trovato anche file di Access offuscati.

Raima (almeno le versioni che uso) viene fornito con uno strumento chiamato datdump che scrive i file di dati in un formato leggibile dall'uomo. Esiste anche uno strumento chiamato dbexp che può generare file CSV da un database Raima.

Scommetto che le brave persone di Raima potrebbero aiutarti. So che sono ancora in giro. Vedo che il loro sito web pubblica persino il formato dei file dei loro file nell'area di supporto. Questo potrebbe cambiare da versione a versione di Raima, ma dovrebbe darti una buona idea su come iniziare a scrivere il tuo codice di estrazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top