Umgang mit Timestamp/Datetime-beim kopieren von Daten von Oracle nach SQL Server mit SSIS
Ich bin mit dem SSIS-zum kopieren von Daten aus einer Tabelle in Oracle eine Tabelle in SQL Server 2005. Es gibt keine transformation erforderlich, so ist es nur eine gerade Verbindungslinie zwischen OLE DB-Datenquelle mit OLE DB-Ziel. Ziemlich einfach, und es funktioniert, aber während der Ausführung wird ein Datensatz in der Oracle-Tabelle enthält einen timestamp-Wert des Jahres 0002 in begegnet, so SSIS-Fehler, die sich durch eine oveflow Ausnahme.
Ist, wenn ich eine extra Spalte in der SQL Server den Datentyp string, und zuordnen, dann funktioniert das Prima. Jedoch ich lieber halten Sie die Datatime-Spalte und verwenden Sie es in mein Ziel. Ich bin OK mit einbauen das Jahr 0002 mit so etwas wie 1900 oder sowas. Also, was ist der beste Weg, um dies zu erreichen, wenn-dann-sonst in SSIS?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich in der Regel lassen Sie Oracle-deal mit, dass Sie durch so etwas in meiner Quell-Abfrage:
Dies setzt eine gültige, aber sehr in der Zukunft (diktiert von der Firma, die ich beauftragt als Repräsentation eines ungültigen Datums in ein erforderliches Feld Datum. Sie können auch
'1900-01-01 00:00:00'
statt'9999-12-31 00:00:00'
) in Fällen, in denen das ursprüngliche Datum istnull
oder weniger als1900-01-01 00:00:00
. Es vermeidet auch die Nachbearbeitung von SSIS auf das Feld "Datum".99991231
? Gibt es etwas, was in der situation, dass er dies verlangt oder war das nur Teil Ihrer eigenen Anforderungen?GetDate() BETWEEN StartDate AND EndDate
ist so viel besser, als jede Methode, um zu versuchen zu umgehen, mit Null).Ich erkenne Sie haben, die Sie beheben wollte, aber die andere Methode für den Umgang mit Fragen dieser Art ist die Verwendung eines conditional split. Finden Sie und handhaben Sie alle Arten von Daten, Fragen, wo Sie wollen, um Datensätze zu entfernen, die von der main-Fluss und bestimmte Umgang mit bedingten split. Ich finde es besonders praktisch, wenn ich in der Lage sein möchten zu sagen, die Hersteller über die schlechte Akten, die Sie uns geschickt, so dass Sie beheben können Ihre Daten.