SSIS tulostaa Unicode-merkkijonon vaihto-JIS-merkkikoodina tekstitiedostoon

Sivun luontipäivämäärä :

Kuviot, jotka johtavat virheisiin

Oletetaan, että SQL Serverin taulukon nvarchar-tyyppisessä sarakkeessa on merkkijono, jota ei voi käyttää Vaihto-JIS:ssä. Muuten, jos laitat nämä merkit varchar-sarakkeeseen, on merkkejä, joita ei voi käyttää, kuten "ColumnShiftJis" -sarake oikealla. Vaihda se.

Unicode 文字をデータベースのテーブルに入れる

SSIS:ssä työnkulku on määritetty lukemaan edellisen taulukon tietoja kuvan osoittamalla tavalla ja tulostamaan ne tekstitiedostoon.

テキストファイルへ出力する様にフローを構築

Oletetaan, että haluat tulostaa sen CSV-tiedostona. Koska Vaihto-JIS:ää käytetään usein CSV-tiedostoissa, määritä tekstitiedoston merkkikoodaus asetukseksi Vaihto-JIS.

文字コードを Shift-JIS に設定

Jos suoritat tämän asetuksen, tulostuksen ajoituksessa tapahtuu virhe.

テキストファイル書き込み時にエラー

Näyttöön tulee seuraavankaltainen virhesanoma:

エラー内容

Tulostustiedosto keskeytyy myös virheen tapahtuessa puolivälissä.

出力されたテキスト

Jos yrität tulostaa sellaisenaan, se on virhe, joten yritä sisällyttää "tietojen muuntaminen" keskelle.

データ変換 追加

Muunna tietotyyppi "DT_WSTR" -tilasta "DT_STR" -muotoon ja tee siitä lomake, joka voidaan tulostaa Vaihto-JIS:ään.

「DT_WSTR」から「DT_STR」に変換

Jos kuitenkin suoritat tämän myös, saat virheen. Tämä johtuu siitä, että SSIS epäonnistuu tiukasti implisiittisessä käsittelyssä, mikä aiheuttaa tietojen puuttumisen. Jos haluat SSIS:n suorittavan tekstistä poistetun käsittelyn, sinun on määritettävä merkkien korvaaminen erikseen kaikille merkeille.

データ変換エラー

Vaihtoehtoiset tavat

Voit muuttaa tekstin tyyppiä SQL:n avulla, kun luetaan tietokannan taulukosta. Jos se on SQL, se on SQL Server -moduuli, joka suorittaa sen, ei SSIS, joten se voi toimia virheettömästi. Muuten, kaikki merkit, joita ei voi käyttää Shift-JIS: ssä, ovat "?" Muunnetaan muotoon: Tämä on SQL Serverin sivumääritys. Vaikka se ei olisikaan SSIS, tulos on samanlainen kaikissa SQL Serveriä käyttävissä järjestelmissä.

Avaa ADO NET Translator ja muuta tietojenkäyttötilaksi SQL-komento. Nyt kun voit kirjoittaa SQL: n, kirjoita Select-lause tietojen noutamiseksi tietokannasta. Teksti, joka sisältää merkkejä, joita ei voi käyttää Vaihto-JIS:ssä, muunnetaan väkisin varchariksi striimauksen avulla.

SQL で varchar に変換

Koska merkit, joita ei voi käyttää Vaihto-JIS:ssä, on jo poistettu SSIS:ään virtaavien tietojen aikana, käsittely voidaan välittää sellaisenaan.

処理成功

Voit nähdä, että tekstin kirjoittaminen CSV-tiedostoon onnistui. Lisäksi kaikki merkit, joita ei voi käyttää Vaihto-JIS: ssä, ovat "?" Voit nähdä, että se on muunnettu muotoon:

出力されたテキスト