sabato 25 giugno 2011

Esportare e importare dati da una tabella DB2


Ci sono 2 formati per esportare/importare i dati da una tabella:

  • formato .del (i dati esportati vengono delimitati da virgole. Questo tipo di formato può essereletto indipendentemente dal sistema che si usa)
  • formato. ixf (è un formato che può essere letto solo da DB2, oltre ai dati memorizza anche la struttura della tabella)

Export di tutti i dati di una tabella in formato del:

export to <nome_file>.del of del 
select * from <nome_schema>.<nome_tabella_origine>;

oppure, per esportare i dati sostituendo una colonna con dei dati inseriti manualmente (ad esempio esportare i dati con la stringa "abc" al posto della colonna2):

export to <nome_file>.del of del
select
COLONNA1,
'abc',
COLONNA3
from <nome_schema>.<nome_tabella_origine>;

Import di tutti i dati in una tabella:
import from <nome_file>.del of del 
commitcount 5000 INSERT INTO <nome_schema>.<nome_tabella_destinazione>;

La import può inserire i dati nella tabella di destinazione in diversi modi:
  • INSERT, aggiunge i record letti dal file .del in fondo alla tabella senza sovrascrivere eventuali datigià presenti
  • INSERT_UPDATE, inserisce i nuovi record letti dal file aggiornando eventuali dati già inseriti 
  • REPLACE, svuota la tabella e inserisce i nuovi dati

Nota: E' importante specificare l'opzione commitcount <nr_record> per import di grandi volumi di dati per evitare che l'import fallisca a causa di un errore TRANSACTION LOG FULL.
Specificando il commitcount, il log viene svuotato ogni volta che sono stati inseriti un numero di record pari al valore specificato per l'opzione.

Export e import in formato .ixf:

export to <nome_file>.ixf of ixf select * from <nome_schema>.<nome_tabella_origine>;

import from <nome_file>.ixf of ixf
commitcount 5000 INSERT INTO <nome_schema>.<nome_tabella_destinazione>;

Nessun commento:

Posta un commento