Frage : Problem mit FindString IN SSIS

Hallo Experten, habe ich ein SSIS Paket, das eine Excel-Akte in einen SQL-Server Table.
However lädt, das, ich ein Problem mit einem column.

On meine QuellExcel-Akte habe, ich eine Spalte habe, die „ProductsInNeed“ genannt wird und das datatype ist wie (DT_WSTR mit einer Länge von 255)
and die Werte in dieser Spalte like

" Toner sind, Tinte, Computer, printer, Telefon, power "
" Drucker, Tinte, Toner, „
" Computer, Toner, Telefon, power "
""
" Computer, Drucker "

On meine Ziel-Tabelle I haben das 6 Spalten like
" TonerWanted“, „InkWanted“, " computerWanted“,
" printerWanted“, „phoneWanted“, „powerWanted "
All Spalten sind mit Datatype Varchar mit einer Länge 255.

What, das ich tun muss bin, wie ich auf einer Schnur im ankommenden column
zum Beispiel

If überprüfen muss ich eine Schnur „Toner“ in der Quelspalte habe, dann ich den zum Ziel Column
" TonerWanted“ schicken muss, oder sonst ich in ein NULL

For dieses senden muss ich einen Ausdruck in DerviedColumn wie this

TRIM geschrieben habe (FINDSTRING (ProductsInNeed, „Toner“, 1) == 0? „Toner“: (DT_STR, 255.1252) NULL (DT_STR, 255,1252))

But erhalte ich eine Störung wie this

[ALTES SRC [1]] Störung: Es gab eine Störung mit Ausgangsspalte „ProductsInNeed“ (3112) auf Ausgang
" die ALTE ausgegebene DB-Quelle“ (11). Der zurückgebrachte Spaltenstatus war:
" Text wurde beschnitten, oder eine oder mehrere Buchstaben hatten kein Gleiches in der Zielcodeseite.“.

Any Hilfe auf diesem wird geschätzt in hohem Grade…. Dank im Voraus

Antwort : Problem mit FindString IN SSIS

oh mein Gott

traurig, las ich die gedreht Frage.

yeah abgeleitete Spalten ist die rechte Lösung und, gerade sicherzustellen
ich versuchte Ihre Frage genau die Weise, die Sie über Lesedaten von übertreffen in SQL beschrieben und es war mit mir ohne irgendwelche Störungen adaequat

das einzige Problem war
Sie müssen ändern
ORDNUNG (FINDSTRING (ProductsInNeed, „Toner“, 1) == 0? „Toner“: (DT_STR, 255.1252) NULL (DT_STR, 255.1252))

in

ORDNUNG (FINDSTRING (ProductsInNeed, „Toner“, 1)! = 0? „Toner“: (DT_STR, 255.1252) NULL (DT_STR, 255.1252))

! = 0

oder

Sie können Eingangsdaten von Execl und es wie wie in einer sql-Tabelle zu halten und Einsatz in auserwählten Fall dann zu benutzen.

dieses ist gerade eine andere Wahl.
Weitere Lösungen  
 
programming4us programming4us