La meilleure façon de produire des exportations automatisées sous forme tabulé de Teradata?

StackOverflow https://stackoverflow.com/questions/2472157

  •  20-09-2019
  •  | 
  •  

Question

Je voudrais être en mesure de produire un fichier en exécutant une commande ou d'un lot qui exporte essentiellement une table ou une vue (SELECT * FROM TBL), sous forme de texte (conversions par défaut au texte pour les dates, numéros, etc sont très bien) , délimité par des tabulations, avec NULL étant converti en champ vide (à savoir un colum NULL aurait pas d'espace entre les caractères de tabulation, avec terminaison de ligne approprié (CRLF ou Windows), de préférence également avec des têtes de colonne.

Ceci est la même exportation que je peux obtenir dans l'Assistant SQL 12.0, mais en choisissant l'option d'exportation, en utilisant delimiter onglet, réglage de ma valeur NULL à « » et y compris en-têtes de colonne.

Je suis incapable de trouver la bonne combinaison d'options - le plus proche, je l'ai obtenu est en construisant une seule colonne avec CAST et « 09'XC, mais les lignes ont encore un important indicateur de longueur 2 octets dans la plupart des paramètres I ont essayé. Je préférerais ne pas avoir à construire de grandes chaînes pour les différentes tables différentes.

Était-ce utile?

La solution

Pour éliminer les deux octets dans la sortie de FastExport:

.EXPORT OUTFILE &dwoutfile MODE RECORD FORMAT TEXT;

votre SELECT doit générer un champ d'exportation de longueur fixe par exemple CHAR (n) . Donc, vous gonfler la taille du fichier et finir avec un fichier d'exportation de longueur délimité mais fixe.

L'autre option est que si vous êtes dans un environnement UNIX / Linux vous pouvez poster traiter le fichier et la bande de la tête de deux octets ou écrire un ASXMOD en C pour le faire que les dossiers sont transmis en continu dans le fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top