Frage

Gibt es eine Möglichkeit, wo ich überprüfen, ob das Feld in abgeleitete Spalte / bedingtes Teilen der Datenflusstask in SQL Server Integration Services 2005 numerisch ist.

Funktionalität sollte wie ISNUMERIC sein () Funktion.

Zur Zeit verwende ich

((DT_NUMERIC,12,0)fieldname= (DT_NUMERIC,12,0)fieldname)

in dem abgeleiteten Spalte Ausdruck zu überprüfen, ob der Feldname Numerisch ist. Aber wenn der Feldname Zeichen wie 123ABC statt Zeichen 123 enthält, führt der obige Ausdruck eine Ausnahme wegen Konvertierungsfehler und Paketausführung stoppt.

Wenn wir eine Funktion wie ISNUMERIC haben (), als die wir brauchen, um all diesen Zirkus nicht. Weiß jemand, ob es eine Funktion wie diese ist zu prüfen, ob das Feld numerisch ist oder nicht in SSIS.

War es hilfreich?

Lösung

Wir verwenden die folgende Technik:

  1. Auf dem Grundstück Form für die Spalte Komponente abgeleitet Sie auf die Schaltfläche klicken können ‚Configure Fehlerausgang‘ die Fehlerausgangskonfiguration zu bringen.

  2. Konfigurieren Sie die Fehler und Abschneiden Aktionen für diese Spalte (oder eine beliebige andere Spalte) zu sein "Ignorieren Failure"

  3. Wenn nun die Umwandlung dieser Spalte für eine Zeile fehlschlägt, wird auch weiterhin das Paket auszuführen. Der Spaltenwert für diese Zeile wird auf null gesetzt werden. Sie können eine nachfolgende Komponente verwenden, um NULL-Werte zu überprüfen und entsprechende Maßnahmen ergreifen.

Andere Tipps

Sie können Zeilen auf Fehler umleiten und den Fehler behandeln. Oder eine Skript Aufgabe verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top