Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL
ETL Le Forum d'entraide ETL (Extract Transform Load) et Datawarehouse : DataStage, SunOpsis, Data Integrator, Informatica, OWB, Data Manager, Talend Open Studio,...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/04/2007, 19h05   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 12
Points : 4
Points : 4
Par défaut Probleme sur Data Integrator

Bonjour,

Ma question est un peu poussée mais je commence à ne plus avoir de cheveux à force de les arracher .

J'essaie de faire une alimentation simple d'une table avec en source un fichier plat. La définition de ce fichier plat me semble correcte.Voici comment je procède: j'ai mon fichier plat qui est la source , ma table la cible. Entre ces 2 éléments une "query", dans celle-ci je mappe directement les colonnes dans les colonnes correspondantes de la table.
Le problème est le suivant: message d'erreur du serveur de base de données : " le nombre de champs dans l'instruction INSERT est plus petit que le nombre de champs dans le VALUES". En analysant les traces du Monitor, il apparait les messages suivants :

Transform <Query:15ebc58> is importing row <1,6,6,1,Inconnu à la reprise,Inconnu à la reprise,1986.12.08 12:00:00,DEC CON SSUP ORDRE VETO CARTE CONTRAT ANNUEL SOINS,-99,1901,1996.11.22 12:00:00,2006.06.12 11:43:35>.
La ligne suivante est :
Transform <Query:15ebc58> is exporting row <1,6,6,1,Inconnu à la reprise,Inconnu à la reprise,1986.12.08 12:00:00,DEC CONS SUP ORDRE VETO CARTE CONTRAT ANNUEL SOINS,-99,00,1901,1996.11.22 12:00:00,2006.06.12 11:43:35>.

Le champ mis en gras (-99) est de type decimal 18,2 donc il me semble que le moteur de generation de SQL rajoute 2 chiffres apres la virgule . Cette virgule est ensuite interpreté comme une séparation parmis les champs, ce qui a pour conséquence de rajouter un champ et faire planter la requete.
J'aimerai savoir s'il l'on peut empecher la génération de la virgule ainsi que les chiffres qui vont derriere, ou bien comment préciser que la virgule fait parti du chiffre et ne dois pas etre interpreté comme un séparateur de champ dans l'instruction INSERT ?

D'avance merci
poog49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 14h12   #2
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 103
Points : 32
Points : 32
Il faut savoir quel est ton séparateur dans ton fichier.
Evite la virgule et il pourra lire le fichier sans problème.

Regarde dans ton fichier le champs (-99) en décimal 18,2.
Comment il est fait.

Si c'est écrit -99.01 ou -99,01, il peux y avoir confusion entre le séparateur de champs et la virgule du décimal.
cdumas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h26.


 
 
 
 
Partenaires

Hébergement Web