Esportazione dati via SQLPLUS
Un suggerimento
In questo post, andremo a vedere un piccolo trucchetto che ho usato per poter esportare dei dati, sopratutto quando si tratta di esportare dati di una certa mole.
Andiamo nel dettaglio
L’idea è di fare uso di SQLPLUS, che si presta bene a questo genere di lavori. sfruttando le sue capacità. In particolare ci appoggiamo alla possibilità di poter inviare su file il risultato della esecuzione della query. Stiamo parlando del comando: SPOOL;
Andiamo nel dettaglio e vediamo come fare.
Una volta definita la query, con tutti i dati che sono necessari. Quindi componiamo la query come segue:
Select <campo1> || <campo2> || ..... || <campon> from .....
oppure come
Select <campo1> || <delimitatore> || <campo2> || <delimitatore> || ..... || <campon> from .....
a seconda che si voglia avere una estrazione dove i campi sono a lunghezza fissa (primo caso) o con delimitatore (secondo caso).
A questo punto, vediamo come procedere per avere l’estrazione vera e propria.
Attiviamo SQLPLUS, da riga di comando:
sqlplus <utente>/<password>@<dbsid>
Quindi forniamo la sequenza di comandi:
set heading off set pagesize 0 set linesize 200 set feedback off Spool on Spool <file_destinazione>.txt <scriviamo la Query, mettendo il ';' finale > Spool off <da lanciare al termine della esecuzione della query>
La precedente figura da una idea per capire come procedere. Ovviamente mi sono limitato a eseguire una query di esempio per mostrare il funzionamento.
Conclusioni
Abbiamo un sistema molto semplice per eseguire delle estrazioni dati molto semplici. Il metodo è automatizzabile, creando degli script ad hoc, per semplificarci ulteriormente la vita :-).