SSIS tulostaa Unicode-merkkijonon vaihto-JIS-merkkikoodina tekstitiedostoon
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.
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.
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.
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.
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: