Informix: Comment obtenir le contenu de la table et les noms de colonnes en utilisant dbaccess?

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

  •  26-09-2019
  •  | 
  •  

Question

Supposant je:

  • une base de données Informix nommée "my_database"
  • une table nommée "my_table" avec les colonnes "col_1", "col_2" et "col_3":

Je peux extraire le contenu de la table en créant un my_table.sql script comme:

unload to "my_table.txt"
select * from my_table;

et invoquant dbaccess de la ligne de commande:

dbaccess my_database my_table.sql

Cela produira my_table.txt fichier avec le contenu comme:

value_a1|value_a2|value_a3
value_b1|value_b2|value_b3

Maintenant, que dois-je faire si je veux obtenir les noms de colonnes dans la section my_table.txt ? Comme:

col_1|col_2|col_3
value_a1|value_a2|value_a3
value_b1|value_b2|value_b3
Était-ce utile?

La solution

Aucun des outils standard Informix mis les noms de colonnes en haut de la sortie que vous voulez.

Le SQLCMD du programme (et non le nouveau venu Microsoft - l'original, disponible à partir du IIUG Archive Software ) a la capacité de le faire; utilisez l'option -H pour les en-têtes de colonnes (et -T pour obtenir les types de colonnes).

sqlcmd -U -d my_database -t my_table -HT -o my_table.txt
sqlunload -d my_database -t my_table -HT -o my_table.txt

SQLCMD peut également faire sortie CSV si c'est ce dont vous avez besoin (mais - bug - il ne formate pas les noms de colonnes ou lignes types de colonnes correctement).

Autres conseils

Pourquoi ne pas utiliser dbschema?

Pour obtenir le schéma d'une table (sans paramètre -t afficher toutes les données)

dbschema -d [DBName] -t [DBTable] > file.sql

Pour obtenir le schéma d'une procédure stockée

dbschema -d [DBName] -f [SPName] > file.sql

Vous avez trouvé une solution plus facile. Placez les en-têtes dans un fichier par exemple header.txt (il contiendra une seule ligne « col_1|col_2|col_3 ») puis de combiner le fichier d'en-tête et votre fichier de sortie run:

cat header.txt my_table.txt > my_table_wth_head.txt
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top