La tâche de destination OLE DB ajoute des valeurs à la fin des valeurs

Un stream de données simple provoque beaucoup de problèmes quand j'essaie de

  1. lire datatables d'une colonne ( oracle 9.2.0.8 ) et
  2. l'écrire directement dans une table de destination Oracle (même database)

La colonne ( varchar2 25byte ) que j'importe ressemble à ceci:

241200001 151200001 211200001 161200001 1231704383 

Lorsque je sélectionne la colonne ( char 10byte ) de la table de destination , cela ressemble à ceci:

 241200001 151200001 3 211200001 3 161200001 3 1231704383 

La capture d'écran suivante montre la grid de données entre la source et la destination. Ici, tout semble aller bien.

entrez la description de l'image ici

La capture d'écran suivante montre qu'il y a des zéros ajoutés et la fin, mais pas partout. (Ceci est la window de prévisualisation de la tâche de destination, mais elle ressemble à TOAD)

entrez la description de l'image ici


L'inspection de la longueur des valeurs donne le résultat suivant, ce qui semble plutôt correct:

 Select id, length(id) as length from test_view ID LENGTH ------------------------- ---------- 42120001 8 23120001 8 22120001 8 26120001 8 25120001 8 22120001 8 22120001 8 23120001 8 18120001 8 18120001 8 1235800020 10 58120001 8 52120001 8 52120001 8 57120001 8 52120001 8 52120001 8 

Pour une raison quelconque, il y a une valeur ajoutée à la fin avec un espace. J'ai vu des valeurs ajoutées entre 1-3 , je me request vraiment d'où cela vient. Il n'y a pas de troncature si vous vous inquiétez de la destination la plus courte. Lorsque je définis la colonne de destination sur varchar2 cela fonctionne, mais nous devons le laisser tel quel.

À l'intérieur du stream de données, datatables sont une ssortingng(25) . Alors pourquoi devrait-il y avoir un problème avec cette destination?

METTRE À JOUR:

C'est bizarre. Je ne pense pas que l'avertissement codepage provoque cette erreur. Les données d'input semblent bonnes, et le package est assez standard. Serait-ce vraiment un problème de pilote, ou un problème / bug de la tâche de destination?

Essayez d'utiliser une transformation de colonne dérivée dans le stream de données pour convertir explicitement varchar (25) en char (10) – l'erreur peut provenir d'une conversion implicite ne fonctionnant pas comme prévu.