2017-05-31 8 views
1

SSISを使用して '.csv'ファイルをSQL Serverにインポートしようとしています。インポートはうまくいきますが、私が持っている問題は、ファイルをインポートすると、各フィールドに文字 が追加されていることです。SSISで '.csv'ファイルをインポートするときに奇妙な文字

私はSSISを通じてこれを修正するために徹底的に努力してきましたが、私は運がないと思います。私が気づいたのは、 '.csv'ファイルを開いてSave Asに行くと、実際のCSVではなくUnicode Textとして表示されることです。私がcsvとして保存して、それをすべてのフィールドを通して実行すると、 文字なしで罰金がかかります。

私は一種の修正をしていますが、ファイルを手動で開いて再保存する必要があります。自動的に実行するためにはプロセスが必要なため、ファイルを再保存する必要があります。私はC#のスクリプトタスクを使用してファイルを自動的に変換することを考えましたが、私はそれを行う方法がわかりません、誰も助けることができますか?それとも私が知らないそれをするための良い方法はありますか?

ありがとうございます。

+0

そうclearifyする:問題は、SSISで予想されるエンコーディングに一致していない、あなたのcsvファイルのエンコーディングですか?あなたはもちろん、C#を使用することができます。 - .NETでは、多くのエンコーディングを提供するエンコーディングクラスがあります(文字からASCIIに変換する必要があります) – pytomaniaq

+0

私はそれがエンコーディングであると思います。 100%は、作業用のバージョンとNotepad ++のファイルの元のバージョンを開いたときと同じように見えます。私が行っているのは、元のファイルをExcelで開き、CSVではなくUnicodeのテキストを示す名前で保存に行くときです。 私が必要とするものに最適なエンコーディングクラスがある場合、私はそれを調べることができるかどうかを確認します。 – GraveyardWorker21005

答えて

1

あなたはエンコーディングを変更するには、簡単なPowerShellスクリプトを使用することができます。

foreach ($file in Get-ChildItem *.csv) { 
    Get-Content $file.name | Set-Content -Encoding utf8 "UTF8_$($file.name)" 
} 
+0

私はPowershellに慣れていないので、明白な何かを見逃しているかもしれませんが、これを実行したときにはうまくいきませんでしたか?フィールドにはまだ奇妙な文字が入ります – GraveyardWorker21005

+0

新しいテキストファイルを作成し、上記の内容を追加します。 * .ps1として保存します。次に、PowerShellのウィンドウを開き、* .csvファイルがあるフォルダに移動し、スクリプト\ myscript.ps1を実行します。 UTF8_接頭辞を持つ新しいファイルを生成するはずです。 (PS:私はスクリプトを編集しました) –

+0

これはトリックを行うようです!どうもありがとうございました – GraveyardWorker21005

関連する問題