Oracle et Fichier CSV
lilou
-
Nino -
Nino -
Bonjour,
je génère un fichier csv avec la commande spool d'oracle. Dans le début de mon fichier, j'ai la commande set heading on pour faire apparaitre les entêtes de mes colonnes.
Le soucis, c'est qu'en fonction du format des colonnes, les entêtes de mes colonnes sont tronquése. Ex si le format de ma colonne est Char(1) alors il m'affiche qu'une lettre pour l'entête.
Comment puis je remedier à ce problème. Merci.
Ci dessous le début de mon fichier
Set trimout on;
Set heading on ;
Set feed off ;
set echo off ;
set termout off;
set verify off;
set underline off;
set colsep ";";
set linesize 3000;
je génère un fichier csv avec la commande spool d'oracle. Dans le début de mon fichier, j'ai la commande set heading on pour faire apparaitre les entêtes de mes colonnes.
Le soucis, c'est qu'en fonction du format des colonnes, les entêtes de mes colonnes sont tronquése. Ex si le format de ma colonne est Char(1) alors il m'affiche qu'une lettre pour l'entête.
Comment puis je remedier à ce problème. Merci.
Ci dessous le début de mon fichier
Set trimout on;
Set heading on ;
Set feed off ;
set echo off ;
set termout off;
set verify off;
set underline off;
set colsep ";";
set linesize 3000;
A voir également:
- Oracle et Fichier CSV
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
1 réponse
Salut,
Pour résoudre ton problème, il faut convertir tes champs au format "char(1)" en utilisant la fonction ASCII.
Donc dans ta requête, il faut ajouter "ascii(nom du champ)".
Exemple:
Tu as 3 champs: Id (number), Name (varchar2), Busy(char(1))
Tu fais un "select id, name, ascii(busy) from maTable;" et normalement tu pourras lire le champs "Busy" normalement.
En espérant t'avoir aider.
Cdt,
Nino
Pour résoudre ton problème, il faut convertir tes champs au format "char(1)" en utilisant la fonction ASCII.
Donc dans ta requête, il faut ajouter "ascii(nom du champ)".
Exemple:
Tu as 3 champs: Id (number), Name (varchar2), Busy(char(1))
Tu fais un "select id, name, ascii(busy) from maTable;" et normalement tu pourras lire le champs "Busy" normalement.
En espérant t'avoir aider.
Cdt,
Nino