Fråga : Problem med FindString I SSIS

Hi experter, jag har en SSIS att paketera som laddar en Excel sparar in i en SQL-server Table.
However som, jag har ett problem med en column.

On min källExcel att spara mig har en kolonn som kallas ”ProductsInNeed”, och datatypen är lik (DT_WSTR med en längd av 255)
and värderar kolonnen är däri min

On för skrivare för
för "" för
" för power för
" för
" för power " för like

" färgpulver, färgpulver, datoren, printer, ringer, skrivaren, färgpulver, färgpulver, ”datoren, färgpulver, ringer, " datoren, " uppsätta som mål bordlägger I ha like
" TonerWanted” för 6 kolonner, ”InkWanted”, " computerWanted”, kolonner för
All ”för powerWanted " för
" printerWanted”, ”phoneWanted”, är med Datatype Varchar med en längd 255.

What som jag måste att göra ska gilla mig behöver att kontrollera för en stränga i den inkomma
If för column
for example, jag har en stränga ”färgpulver” i källkolonnen, därefter jag behöver att överföra det till uppsätta som mål Column
" TonerWanted”, eller annat jag behöver att överföra i en NULL

For denna jag har skriftligt ett uttryck i DerviedColumn lik this

TRIM (FINDSTRING (ProductsInNeed, ”Toner”, 1) == 0? ”Färgpulver”: (DT_STR, 255.1252) OGILTIGT (DT_STR, 255,1252))förmiddag för

But I får ett fel för felnågot liknandethis

[OLE SRC [1]]: Det fanns ett fel med den tillverkade kolonnen ”ProductsInNeed” (3112) på tillverkad
" OLE den tillverkade DB-källan” (11). Den gångna tillbaka kolonnstatusen var:
" text avkortades, eller en eller flera tecken hade ingen match i uppsätta som mål att kodifiera sidan.”. hjälp för

Any på denna ska uppskattas högt…., Tack i Advance
" klar "

Svar : Problem med FindString I SSIS

oh min gud

ledsen jag läste den uppochnervända ifrågasätta.

yeah härledde kolonner är den högra lösningen och precis att se till
jag försökte ditt ifrågasätter exakt dig beskrev långt ovanför läs- data från överträffar in i SQL, och den fungerade fint med mig utan några fel

det enda problemet var
du behöver att ändra
KLIPPA, == 0 (för FINDSTRING (ProductsInNeed, ”färgpulver”, 1)? ”Färgpulver”: (DT_STR, 255.1252) OGILTIGT (DT_STR, 255.1252))

in i

KLIPPNING (FINDSTRING (ProductsInNeed, ”färgpulver”, 1)! = 0? ”Färgpulver”: (DT_STR, 255.1252) OGILTIGT (DT_STR, 255.1252))

! = 0

eller

du kan ingångsdata från Execl och uppehälle det som som i en sql att bordlägga och därefter använda mellanlägget in i valt fall.

detta är precis ett annat alternativ.
Andra lösningar  
 
programming4us programming4us