successivo precedente inizio fine indice generale aiuto indice analitico volume parte TXT HTML PDF pdf gdoc P4
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.
Tabella u163.3. Alcune opzioni.
--browse
-bSe si utilizza questa opzione, le tuple vengono mostrate su una sola riga per volta, separando gli attributi con un simbolo, il separatore, che di solito è costituito dai due punti (:).
--delimiter x
-d xCon questa opzione è possibile specificare il simbolo da utilizzare per separare gli attributi delle tuple che vengono visualizzate. Il simbolo di separazione predefinito sono i due punti (:)
--description
-e xIn questo caso, oltre a mostrare il contenuto del file, nella parte iniziale vengono riepilogate le caratteristiche degli attributi contenuti.
--omit
-o xNon elenca il contenuto del file, ma si limita a dare le altre informazioni se richieste attraverso le opzioni opportune.
--reserve
-r xMostra i nomi degli attributi così come sono stati memorizzati.
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 .DBT.
Tabella u163.4. Alcune opzioni.
-v
-vvPermette di avere informazioni sulle operazioni svolte, ottenendo un dettaglio maggiore nel secondo caso.
-h nodoPermette di specificare il nodo a cui accedere per connettersi con il servente di PostgreSQL. In mancanza di questa indicazione, viene tentato l'accesso a
localhost. -d base_di_datiPermette di specificare il nome della base di dati a cui ci si vuole connettere. In mancanza di questa indicazione, viene tentata la connessione con la base di dati test.
-t relazionePermette di specificare il nome della relazione in cui si vogliono trasferire i dati del file
.DBF. In mancanza di questa indicazione, viene tentato l'inserimento nella relazione test. -DCon questa opzione, si fa in modo di cancellare il contenuto della relazione di destinazione, prima di iniziare l'inserimento dei dati.
-cRichiede espressamente che sia creata la relazione di destinazione. In mancanza di questa opzione, la relazione deve essere già disponibile, altrimenti l'operazione fallisce. Nel caso si utilizzi questa opzione mentre una relazione con lo stesso nome esiste già, si ottiene la cancellazione del suo contenuto prima di iniziare, come se fosse stata usata al suo posto l'opzione -D.
-fPrima di procedere, converte i nomi degli attributi in modo che questi siano scritti utilizzando solo lettere minuscole.
-l
-uCon l'opzione -l si fa in modo che il contenuto degli attributi venga convertito in lettere minuscole, mentre con l'opzione -u si ottiene una conversione in maiuscole.
-s nome_vecchio=nome_nuovo\Con questa opzione si può stabilire la sostituzione di alcuni nomi degli attributi della relazione. Ciò può essere particolarmente utile nel caso in cui i nomi originali siano incompatibili con PostgreSQL.
\[,nome_vecchio=nome_nuovo]...
-s n_riga_iniziale
-e n_riga_finaleLe opzioni -s e -e permettono di definire l'intervallo di righe da trasferire, dove nel primo caso si indica la riga iniziale e nel secondo quella finale. Se non si indicano, il trasferimento parte dall'inizio e prosegue fino alla fine.
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