SQL Server 2005 Frage:SQL Server: Finden Sie heraus, welche Zeile die TSQL verursacht scheitern (SSIS)
Ich bin auf einem Datenkonvertierung Projekt arbeiten, wo ich 80k + Reihen nehme und sie von einem Tisch bewegt zu Ein weiterer. Wenn ich den TSQL laufe, bombardiert er mit verschiedenen Fehlern, die mit dem Umwandeln von Typen oder was auch immer zu tun haben. Gibt es eine Möglichkeit herauszufinden, welche Zeile den Fehler verursacht hat?
=====================
UPDATE:
Ich bin eine INSERT INTO TABLE1 Durchführung (...) SELECT. .. FROM TABLE2 Table2 ist nur ein paar Varchar-Felder, in denen TABLE1 die richtigen Typen hat.
Dieses Skript wird in einen Sproc geschrieben und von einem SSIS-Paket ausgeführt. Das SSIS-Paket importiert zuerst 5 große flache Dateien in TABLE2.
Hier ist eine Beispielfehlermeldung: "Die Konvertierung eines Char-Datentyps in einen Datetime-Datentyp führte zu einem out-of-Range-Datetime-Wert."
Es gibt viele Datumsfelder. In TABELLE2 gibt es Datenwerte wie '02/05/1075 'für Geburtsdatum. Ich möchte jede Zeile untersuchen, die den Fehler verursacht, sodass ich der für die fehlerhaften Daten zuständigen Abteilung Bericht erstatten kann, damit sie sie korrigieren kann.
Können Sie uns einige Beispiele für den Fehler geben? Wie verschieben Sie Daten mit einer insert-Anweisung oder einem Cursor? Nach meinem Wissen gibt es wirklich keine Protokolldatei, die Ihnen genau sagen wird, was der Fehler ist, aber vielleicht mit einigen Fehlermeldungen können wir Sie in die richtige Richtung weisen. – OhioDude
Bitte achten Sie mehr auf Ihre Tag-Auswahl. –
Wenn es um Casting geht, gibt es ISNUMERIC- und ISDATE-Funktionen, um zu testen, ob eine Zeichenfolge erfolgreich implizit auf eine Zahl oder ein Datum umgesetzt werden kann. ISNUMERIC hat jedoch nach meiner Erfahrung einen Makel bezüglich Kommas und Leerzeichen. Aber ja, Ihr OP sollte viel genauer sein bezüglich der Fehler, denen Sie begegnen. –