Newsgroup: it.comp.programmare
Titolo: [OT] Tracciato record di un file di dati

Salve.
Vorrei sapere se esiste un tool per "capire" il tracciato record di un
determinato file di dati.
Devo lavorare con MsAccess su un vecchio gestionale proprietario che gira su
DOS, tuttavia non ho il tracciato record dei file ".dat" su cui devo operare
(da quanti byte e' formato l'header del file ?, a quale byte iniziano le
stringhe, e i dati di tipo integer ? di quanti campi e' formato il
recodo...ecc. ecc...).
Sapete se esistono utility di questo tipo ?
Grazie,
ciao.
Breck
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 
AFAIK non esistono tool in grado di estrarre direttamente il 
tracciato da un qualsiasi file e, se esistono, sarei davvero curioso 
di capire come lavorano.
Quello che puoi fare è cercare se il tuo formato corrisponde a uno di 
quelli documentati per l'estensione .dat su 
www.wotsit.org
.
Se non è documentato, prova a capire che librerie di accesso al 
database utilizza il programma misterioso (un editor esadecimale e un 
po' di pazienza potrebbero farti parecchio comodo!) oppure (sempre a 
colpi di pazienza e di hex-editor) cerca di capire la struttura 
iniziando dalle basi.
Un buon editor decimale (gratuito) lo puoi scaricare da:
http://www.hhdsoftware.com/
Consigli in ordine sparso:
- il sistema memorizza tutti i dati in un file o li divide su più 
file?
Nel primo caso è possibile che il singolo file contenga diverse 
tabelle e/o diverse strutture.
- prova a cercare qualche stringa che hai inserito e verifica se la 
trovi nel file .dat.
Se non la trovi è possibile che il file sia compresso/crittografato 
(in caso, auguri!). Se la trovi i dati saranno salvati più o meno in 
chiaro.
- Cerca di capire se il formato usa dei fine-record, ha una lunghezza 
del record fissa o non memorizza le informazioni del record in un 
blocco contiguo (in caso, ri-aguri!).
- se puoi, crea un nuovo database (reinstallando il vecchio 
applicativo, ad esempio) e inserisci dei dati facilmente 
identificabili sia come stringhe che come campi numerici (ex: sempre 
0x1234 per gli interi o roba simile). Magari inserisci record che 
differiscono solo per un campo (sempre che il DB lo permetta) e vedi 
cosa cambia tra due record. Confronta due versioni dei file dopo che 
hai fatto una minima modifica (l'editor che ti ho consigliato 
permette il compare binario), questo ti consentira di trovare dove è 
memorizzato un singolo campo.
- se si tratta di un database, è possibile che ci siano parti del 
file utilizzate per memorizzare indici o informazioni sulla struttura 
delle tabelle. Queste informazioni probabilmente non ti serviranno 
per fare un'importazione "una-tantum" dei dati in un nuovo DB, ma 
potrebbero essere importanti se lo scambi dati è bidirezionale.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 database utilizza il programma misterioso (un editor
Tale sw non usa un database, bensi' le procedure di accesso ai dati sono
integrate nel codice stesso dell'applicativo (non c'e' ne DBIV ne' nessun
altro tipo di db sotto !!!)

--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 
Può darsi che non sia realizzato con un sistema database (sotto dos 
DBIV o più tipicamente clipper), ma non è detto che non utilizzi delle 
librerie di gestione dei database (dal profondo dei miei ricordi 
affiora il nome BTRIEVE, ma sono sicuro che ne esistevano in quantità).
Gli altri consigli rimangono validi, e ci aggiungo il consiglio di dare 
un'occhiata alla netiquette, particolarmente alla voce 'quoting':
http://www.uwasa.fi/~ts/http/quote.html
Ciao
