none
SSISでFTPコマンドで取得したファイルの文字コードを変換したい RRS feed

  • 質問

  • SSISでFTPコマンドを発行して、相手先よりcsvファイルを受信する処理で、csvファイル名に日本語が含まれており
    受信しようとするとファイル名が文字化けしてしまいます。
    SSIS上で文字コードの変換方法があれば、教えていただけないでしょうか。

    よろしくお願いします。

    2019年1月21日 13:20

すべての返信

  • マイクロソフトユーザTKさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    1、まずはじめに、FTPサイトでUTF-8が許可されているかどうかを確認してください。
    許可されていない場合は、日本語の単語は正しく伝えられません。
    2、組み込みのFTPタスクではこの問題を処理できません。
    スクリプトタスクでカスタムコードを記述して、リモートフォルダ内のすべてのファイルを一覧表示することができます。
    下記をご参照ください。

    How to: List directory contents with FTP

    public void Main()

    {

                try

                {

                    FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/");

                    request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

                    request.Credentials = new NetworkCredential("UserName", "Password");

                    FtpWebResponse response = (FtpWebResponse)request.GetResponse();

                    Stream responseStream = response.GetResponseStream();

                    StreamReader reader = new StreamReader(responseStream);

                    MessageBox.Show(reader.ReadToEnd());

                    MessageBox.Show($"Directory List Complete, status {response.StatusDescription}");

                    reader.Close();

                    response.Close();

                    Dts.TaskResult = (int)ScriptResults.Success;

                }

                catch(Exception e)

                {

                    MessageBox.Show(e.ToString());

                }

    }

    UTF-8は許可されていません:

    UTF-8が許可されています:

    どうぞよろしくお願いします。


    MSDN/ TechNet Community Support Haruka

    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、
    ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
    2019年1月29日 0:43
    モデレータ