Ingres: importazione / esportazione di dati
- Facendo uso di questi comandi
- COPYDB
- UNLOADDB
- Gli appunti
Ingres consente di esportare i dati da un'installazione di Ingres a un'altra (è una procedura indipendente dalla piattaforma).
UNLOADDB
COPYDB
La principale differenza tra questi due comandi risiede nei parametri che li definiscono:
unloaddb raggruppa tutti gli oggetti di base (comprese le fonti di strumenti per il tipo di front-end ABF, OpenROAD o Report Writer, i cataloghi di Replicator.
copydb raggruppa gli oggetti che invocherà.
Facendo uso di questi comandi
COPYDB
Esempio
copydb mydatabase mytable
Questo comando genererà due file: copy.in e copy.out a condizione che esista la tabella myTable e mydatabase.
Questi file contengono una serie di comandi SQL:
copy.out:
scarico dati: COPIA TABELLA ... INTO ...
copy.in:
Creazione del tavolo: CREATE TABLE ...
Struttura del tavolo: MODIFICA ...
Ricarica dati: COPIA TABELLA ... DA ...
Creazione degli indici: CREATE INDEX ...
Utilizzando questi file:
Per recuperare i dati:
sql mydatabase <copy.out
Per ricaricare i dati:
sql mydatabase <copy.in
UNLOADDB
Esempio
unloaddb mydatabase
Verranno generati quattro file: copy.in, copy.out, reload.ing e unload.ing (o reload.bat e unload.bat sotto Windows).
Proprio come il comando copydb, i file copy.in anf copy.out contengono i comandi SQL necessari per lo scarico dei dati, la creazione di oggetti (tabelle, indici, regole, procedure, viste) e il ricaricamento dei dati. La differenza principale è il unloaddb che può generare programmi per chiamare questi file contenenti codice SQL.
Gli appunti
Per creare una copia portatile da un sistema operativo a un altro, utilizzare l'opzione -c (disponibile per ciascuno di questi due comandi) che consente di generare i dati di esportazione / importazione in un formato ASCII.
Le seguenti variabili non sono esaustive:
II_DATE_FORMAT : formato data
II_DECIMAL : separatore decimale
II_MONEY_PREC : tipo di dati di denaro di precisione
II_MONEY_FORMAT : tipo di formato dei dati di denaro (valuta)
II_NULL_STRING : testo utilizzato per rappresentare il valore nullo
Queste variabili devono essere identiche tra l'origine e il computer di destinazione.
Dichiarare le stesse posizioni: stesso numero, nomi e tipi. Le directory potrebbero essere diverse.
Estendere il database di destinazione nelle stesse posizioni del database di origine: utilizzando il comando infodb, il database controlla le posizioni di entrambi, utilizza accessdb o extenddb per estendere una base.
Cattura il risultato (stdout) di un file e cerca qualsiasi riga che inizi con E_. Questo indica un errore che deve essere analizzato da Ingres.
Se un ricaricamento o copy.in fallisce, potrebbe essere dovuto al fatto che gli oggetti che stai cercando di creare esistono già.