Il software basato sui file in formato .DBF
, ovvero quelli di dBase III, negli anni 1980 è stato molto importante nell'ambito del sistema operativo Dos. Nel suo piccolo ha permesso agli utenti di quel sistema operativo di realizzare delle strutture di dati che si avvicinavano alle potenzialità di una base di dati relazionale.
Ancora oggi si trovano programmi applicativi gestionali basati su questo formato, scritti probabilmente con il famoso compilatore Clipper. Attualmente è disponibile il compilatore Harbour, che si ripromette di offrire un ambiente totalmente compatibile con il passato; tuttavia è possibile leggere il contenuto di questi file attraverso alcuni piccoli programmi.
Il programma dbview (1) consente di leggere il contenuto dei file .DBF
di dBase III e probabilmente anche le versioni di dBase IV.
dbview [opzioni] file_dbf |
Se viene avviato senza opzioni, si ottiene la visualizzazione del contenuto del file indicato nel formato predefinito, come si vede dall'esempio seguente:
Articolo : 1 Descr : bicicletta uomo Prezzo u : 500.00 Import : T Scadenza : 20011120 Note : 2 Articolo : 2 Descr : bicicletta donna Prezzo u : 550.00 Import : Scadenza : 20011120 Note : 3 Articolo : 3 Descr : bicicletta uomo/donna leggera Prezzo u : 600.00 Import : Scadenza : 20011120 Note : 4 |
In realtà, così facendo, i nomi degli attributi vengono mostrati in modo diverso dal reale, utilizzando anche le lettere minuscole ed eliminando i trattini bassi. Utilizzando l'opzione -r, la prima tupla apparirebbe così:
ARTICOLO : 1 DESCR : bicicletta uomo PREZZO_U : 500.00 IMPORT : T SCADENZA : 20011111 NOTE : 2 |
È necessario osservare che gli attributi booleani (in questo caso si tratta di quello intitolato IMPORT) mostrano solo la lettera T per il valore Vero, altrimenti non si ha alcuna indicazione; inoltre, le date vengono espresse secondo il formato aaaammgg. Infine, dall'esempio non si intuisce, ma l'attributo NOTE è di tipo «memo» e in questo caso si sono persi i dati.
I dati contenuti nei file .DBF
, dal momento che sono stati memorizzati presumibilmente con un sistema operativo Dos, utilizzano molto probabilmente un insieme di caratteri ristretto e incompatibile con gli standard comuni; pertanto, è probabile che sia necessario rielaborare ciò che si ottiene con dbview attraverso un programma di conversione come Recode (sezione 47.8.1). Tuttavia, è bene considerare che nella storia dei file .DBF
sono state usate anche codifiche differenti dal solito IBM437 e di questo occorre tenerne conto quando ci si accorge che la conversione non funziona come ci si aspetterebbe.
|
Segue la descrizione di alcuni esempi.
$
dbview articoli.dbf
[Invio]
Elenca il contenuto del file articoli.dbf
nella forma predefinita.
$
dbview -b articoli.dbf
[Invio]
Mostra le tuple utilizzando una sola riga per ognuna.
$
dbview -b articoli.dbf | recode ibm437:latin1
[Invio]
Come nell'esempio precedente, ma utilizza recode per trasformare i caratteri speciali che altrimenti non sarebbero visibili correttamente (per esempio le lettere accentate).
Il programma dbf2pg (2) consente di leggere il contenuto di un file .DBF
e di inserire i dati relativi in una relazione di una base di dati di PostgreSQL.
dbf2pg [opzioni] file_dbf |
In base alle opzioni che vengono indicate, i dati possono essere aggiunti a una relazione esistente, oppure possono sostituire le tuple di tale relazione, oppure si può creare una relazione da zero. Quello che conta è che i permessi fissati attraverso PostgreSQL consentano l'accesso e le operazioni che si intendono svolgere.
dbf2pg non è in grado di trasferire gli attributi «memo», quelli che tradizionalmente venivano creati utilizzando file con estensione |
|
Segue la descrizione di alcuni esempi.
$
dbf2pg -d Anagrafe -c -t Indirizzi address.dbf
[Invio]
Crea la relazione Indirizzi nella base di dati Anagrafe disponibile presso l'elaboratore locale, prelevando i dati dal file address.dbf
.
$
dbf2pg -h localhost -d Anagrafe -c -t Indirizzi address.dbf
[Invio]
Esattamente come nell'esempio precedente, con l'indicazione precisa del nodo locale.
2) DBF2pg software libero con licenza speciale
«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net