Az SSIS egy Unicode karakterláncot Shift-JIS karakterkódként küld szövegfájlba
Hibákat eredményező minták
Tegyük fel, hogy az SQL Server táblájának nvarchar típusú oszlopai olyan karakterlánccal rendelkeznek, amely nem használható a Shift-JIS-ben. Egyébként, ha ezeket a karaktereket a varchar oszlopba helyezi, vannak olyan karakterek, amelyek nem használhatók, például a jobb oldali "ColumnShiftJis" oszlop. Cserélje ki.
Az SSIS-ben a folyamat úgy van beállítva, hogy az előző táblázatból származó adatokat az ábrán látható módon olvassa be, és egy szövegfájlba adja ki.
Tegyük fel, hogy CSV-fájlként szeretné kiadni. Mivel a Shift-JIS-t gyakran használják CSV-fájlokban, állítsa a szövegfájl karakterkódolását Shift-JIS értékre.
Ha ezzel a beállítással hajtja végre a műveletet, a kimenet időzítésekor hiba lép fel.
A következőhöz hasonló hibaüzenet jelenik meg:
A kimeneti fájl a hiba bekövetkeztekor a félúton is megszakad.
Ha úgy próbál kimenni, ahogy van, hiba lesz, ezért próbálja meg az "adatkonverziót" középre beépíteni.
Alakítsa át az adattípust "DT_WSTR" és "DT_STR" formátumra, és alakítsa át olyan űrlapmá, amely a Shift-JIS-be is kitölthető.
Ha azonban ezt is végrehajtja, hibaüzenetet kap. Ennek az az oka, hogy az SSIS szigorúan nem felel meg az implicit feldolgozásnak, ami az adatok hiányát okozza. Ha azt szeretné, hogy az SSIS szövegdefiníciós feldolgozást hajtson végre, akkor az összes karakterhez explicit módon meg kell adnia a karakterhelyettesítést.
Lehetséges megoldások
Az SQL használatával módosítható szövegtípus az adatbázis táblájából történő olvasáskor. Ha SQL, akkor az SQL Server motor futtatja, nem az SSIS, így hiba nélkül futtatható. By the way, minden karakter, hogy nem lehet használni a Shift-JIS a "?" Konvertálva a következővé: Ez egy SQL Server oldali specifikáció. Még akkor is, ha nem SSIS, az eredmény hasonló az SQL Servert használó összes rendszer esetében.
Nyissa meg az ADO NET Translator alkalmazást, és módosítsa az adatelérési módot SQL parancsra. Most, hogy beírhatja az SQL-t, írjon egy Select utasítást az adatok adatbázisból való lekéréséhez. A Shift-JIS-ben nem használható karaktereket tartalmazó szöveget a rendszer öntött eljárással erőszakkal varcharrá alakítja át.
Mivel a Shift-JIS-ben nem használható karaktereket már eltávolították az SSIS-be áramló adatok idején, a feldolgozás úgy is átadható, ahogy van.
Láthatja, hogy a szöveg sikeresen íródott a CSV-be. Továbbá, minden karakter, amely nem használható a Shift-JIS-ben, a "?" Láthatja, hogy a következőre lett átalakítva: