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
Partager