OLE DB Destination Task fügt Werte am Ende der Werte hinzu

Ein einfacher datafluss verursacht viel Ärger, wenn ich versuche

  1. data aus einer Spalte ( Oracle 9.2.0.8 ) und
  2. direkt an eine oracle-Zieltabelle schreiben (gleiche database)

Die Spalte ( varchar2 25byte ) Ich importiere so aus:

241200001 151200001 211200001 161200001 1231704383 

Wenn ich die Spalte ( char 10byte ) der Zieltabelle wähle, sieht es so aus:

 241200001 151200001 3 211200001 3 161200001 3 1231704383 

Der folgende Screenshot zeigt das dataraster zwischen Quelle und destinatin.Here, alles scheint gut zu sein.

Bildbeschreibung hier eingeben

Der nächste Screenshot zeigt, dass es Nullen hinzugefügt und das Ende, aber nicht überall. (Dies ist das Vorschaufenster der Zielaufgabe, aber es sieht in TOAD gleich aus)

Bildbeschreibung hier eingeben


Die Überprüfung der Länge der Werte ergibt das folgende Ergebnis, das scheint ziemlich ok:

 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 

Aus irgendeinem Grund gibt es eine Wertschöpfung am Ende mit einem Raum. Ich habe gesehen, Werte zwischen 1-3 hinzugefügt, ich frage mich, woher das kommt. Es gibt keine Trunkierung, wenn Sie sich Sorgen um das kürzere Ziel machen. Wenn ich die varchar2 auf varchar2 setzt, varchar2 es, aber wir müssen es so lassen, wie es ist.

Innerhalb des dataflusses handelt es sich bei den data um einen string(25) . Warum sollte es dann ein Problem mit diesem Ziel geben?

AKTUALISIEREN:

Das ist komisch. Ich glaube nicht, dass die Codepage Warnung diesen Fehler verursacht. Die Eingabedaten sehen gut aus, und das Paket ist ziemlich Standard. Könnte dies wirklich ein Treiber Problem oder ein Problem / Bug der Ziel-Aufgabe sein?

Versuchen Sie, eine abgeleitete Spaltenumwandlung im datafluss zu verwenden, um varchar (25) explizit in char (10) umzuwandeln – der Fehler kann aus einer impliziten Konvertierung resultieren, die nicht wie erwartet funktioniert.