Espace dans champs tronquées par SQLLDR
Bonjour à tous,
Voila j'utilise sqlloader avec un fichier de contrôle et le fichier que j'importe est un csv (insert).
J'ai une de mes colonne pour lequel le type des champs est VARCHAR2.
Or pour la plupart de ces champs, ceux ci sont de la forme:
' XXX '
C'est à dire avec un espace avant et après mes caractères (taille max = 5)
Lorsque j'importe avec sqlloader, pas d'erreur, mais une fois importé lorsque je fais un select, il m'a tronqué l'espace de devant (pas celui de derrière qui est tjs la).
Je suis sur que cela ne vient pas du select car j'ai essayé de concaténé avant et après le résultat et j'ai bien un espace après mais plus celui de devant.
Connaitriez vous donc une option (ou astuce...) pour conserver tous les espaces où qu'ils soient?
Merci de votre aide
Thomas
espace en fin de champs tronqués
Bonjour,
Je tente un up car j'ai le même problème,
j'ai des champs en VARCHAR2 du type 'xxxx ' et je veux garder cette forme, le sql loader charge une table oracle vers une autre table oracle
seulement en utilisant l'option BL_PRESERVE_BLANKS=YES je me retrouve avec des blancs en plus , il complète la taille max du champ ( 512!) avec des blancs on dirai, mais tronque l'espace à la fin si je met BL_PRESERVE_BLANKS=NO
Code:
1 2 3 4 5 6 7 8 9
| INSERT INTO ma table cible (
DBMAX_TEXT=4000
BULKLOAD=YES
BL_PRESERVE_BLANKS=YES
BL_DELETE_DATAFILE=YES
BL_LOAD_METHOD=TRUNCATE BL_OPTIONS="DIRECT=Y,SKIP_INDEX_MAINTENANCE=TRUE,ERRORS=0"
BL_LOG="$HOME/monprojet/log/xxxx.SQLOADER.log" BL_DATAFILE="$HOME/monprojet/out/xxxxx.dat"
BL_CONTROL="$HOME/monprojet/out/xxx.SQLOADER.ctl" BL_BADFILE="$HOME/monprojet/out/xxx.SQLOADER.bad")
SELECT mes champs FROM CONNECTION TO ORA( ma select sur la table source); |
je précise au cas où que je lance ceci depuis une proc sql dans sas...
si quelqu'un a déjà eu ce problème.. il y a peut être une option qui me manque?