SSIS izpisa niz Unicode kot kodo znaka Shift-JIS v besedilno datoteko
Vzorci, ki povzročijo napake
Predpostavite, da ima stolpec vrste nvarchar v tabeli v strežniku SQL Server niz, ki ga ni mogoče uporabiti v shift-JIS. Mimogrede, če te znake postavite v stolpec varchar, obstajajo znaki, ki jih ni mogoče uporabiti, kot je stolpec »ColumnShiftJis« na desni strani. Zamenjaj ga.
Na SSIS je tok nastavljen za branje podatkov iz prejšnje tabele, kot je prikazano na sliki in izhod v besedilno datoteko.
Domnevajte, da jo želite izložiti kot datoteko CSV. Ker se Shift-JIS pogosto uporablja v datotekah CSV, nastavite kodiranje znakov besedilne datoteke na Shift-JIS.
Če boste to nastavitev izvršili, se bo ob času izhoda prišlo do napake.
Prikaže se sporočilo o napaki, podobno naslednjemu:
Izhodna datoteka bo prav tako prekinjena na polovici, ko je prišlo do napake.
Če poskusite izhod, kot je, bo napaka, zato poskusite vključiti "pretvorbo podatkov" v sredini.
Pretvorite podatkovni tip iz »DT_WSTR« v »DT_STR« in ga naredite v obrazec, ki je lahko izhod v Shift-JIS.
Če pa to tudi izvršite, boste dobili napako. To je zato, ker SSIS strogo ne uspe implicitno obdelavo, zaradi katere podatki manjkajo. Če želite, da SSIS izvede obdelavo z detyped besedilom, boste morali izrecno določiti zamenjavo znakov za vse znake.
Zaodložja
Pri branju iz tabele v zbirki podatkov lahko spremenite vrsto besedila z sqlom. Če je SQL, je SQL Server motor, ki ga vodi, ne SSIS, tako da lahko teče brez napak. Mimogrede, vsi znaki, ki jih ni mogoče uporabiti v Shift-JIS, so "?" Pretvorjeno v: To je specifikacija strani strežnika SQL Server. Tudi če ni SSIS, je rezultat podoben za vse sisteme, ki uporabljajo SQL Server.
Odprite ADO NET Translator in spremenite način dostopa do podatkov v SQL Command. Zdaj, ko lahko vnesete SQL, napišite izjavo Izberi, da pridobite podatke iz zbirke podatkov. Besedilo, ki vsebuje znake, ki jih ni mogoče uporabiti v shift-JIS, se na silo pretvori v varchar z uporabo litega.
Ker so znaki, ki jih ni mogoče uporabiti v shift-JIS, že odstranjeni v času pretoka podatkov v SSIS, je obdelavo mogoče prenesti tako, kot je.
Lahko vidite, da je besedilo uspešno napisano v CSV. Prav tako so vsi znaki, ki jih ni mogoče uporabiti v shift-JIS, "?" Vidite lahko, da je bila pretvorjena v: