Il modo migliore per produrre le esportazioni automatizzati in forma delimitato da tabulazioni da Teradata?
Domanda
Mi piacerebbe essere in grado di produrre un file eseguendo un comando o in batch che esporta fondamentalmente una tabella o vista (SELECT * FROM TBL), sotto forma di testo (conversioni predefinite in testo per date, numeri, ecc vanno bene) , tabulazioni, con NULL essere trasformato al campo vuoto (cioè un colum NULL avrebbe alcun spazio tra i caratteri di tabulazione, con terminazione di linea appropriato (CRLF o Windows), preferibilmente anche con intestazioni di colonna.
Questa è la stessa di esportazione che posso ottenere in SQL Assistant 12.0, ma scegliendo l'opzione di esportazione, utilizzando la scheda delimitatore, impostando il mio valore NULL a '' compreso intestazioni delle colonne.
Sono stato in grado di trovare la giusta combinazione di opzioni - la più vicina che ho ottenuto è con la costruzione di una singola colonna con CAST e '09'XC, ma le righe hanno ancora un leader indicatore di lunghezza di 2 byte nella maggior parte delle impostazioni I ho provato. Io preferirei non dover costruire stringhe di grandi dimensioni per le varie tabelle differenti.
Soluzione
Per eliminare il 2-byte nell'output FastExport:
.EXPORT OUTFILE &dwoutfile MODE RECORD FORMAT TEXT;
e la tua Seleziona deve generare un campo di esportazione lunghezza fissa per esempio CHAR (n) . Così si gonfia la dimensione del file e finire con un file di lunghezza fissa di esportazione delimitato ma.
L'altra opzione è che se ci si trova in un ambiente UNIX / Linux è possibile inviare processo il file e eliminerà la parte due byte o scrive un ASXMOD in C di farlo come i record vengono trasmessi al file.