これまでのモデルケースでは、Access、SQL Sever、CSVファイルなど、ローカルなネットワークでのデータ転送が対象でしたが、SSISでは一連の処理フローとしてFTPサーバーとのファイル転送を行うこともできます。それによって、たとえば、Accessで出力したCSVファイルをFTPでアップロードしてWebサーバー上のデータベースと同期させたり、FTPサーバー上に別のシステムからアップロードされたCSVファイルを取り込んでローカルのデータベースに登録したりといったことができます。
ここでは、モデルケース3「AccessのデータをCSVファイルに転送する」で作ったパッケージを加工して、出力されたCSVファイルをFTPサーバーにアップロードするというフローを例にその作成手順を説明します。
- ソリューションエクスプローラ上で「Case03.dtsx」をコピーして貼り付け、「Case11.dtsx」という名前に変更して開きます。

- ツールボックスより、「FTPタスク」を選択してデザイナ上にドラッグ&ドロップします。
  
- 「データフロータスク」から出ている緑色のコネクタを「FTPタスク」へとドラッグ&ドロップし、CSVファイル出力後にFTP転送するようなフローにします。

- ここから「FTPタスク」の詳細設定を行います。「FTPタスク」をダブルクリックして「FTPタスクエディタ」ダイアログを開きます。

- まず、「FtpConnection」プロパティ欄の[▼]ボタンをクリックして「<新しい接続>」を選択します。

- 「FTP接続マネージャエディタ」ダイアログが開きますので、ここでFTP接続に必要な情報を入力します。

- 設定が完了したら[接続テスト]ボタンをクリックして、そのFTPサーバーに指定のユーザー名・パスワード等で実際に接続できるか確認します。

なお、ここでFTPサーバーへ接続できることはもちろんですが、このタスクでどのような処理をさせるかによってFTPユーザーに所定のアクセス権限を与えておくことに注意します(そのテストはここでは行えないので、実行時にエラーとなる場合があります)。
- 接続に問題がなければ、[OK]ボタンをクリックして「FTP接続マネージャエディタ」ダイアログを閉じます。
なおこの時点で、FTPも“接続”のひとつですので、「接続マネージャ」のタブにその名前が追加されます。あとでFTPに関する設定を変更したい場合には、この名前をダブルクリックしてエディタを表示させます。

- 次に、画面左のリストから「ファイル転送」を選択して画面を切り替えます。

- ここではまずアップロード先のFTP上のパスとして、「RemotePath」プロパティを設定します。「RemotePath」の右端にある[...]ボタンをクリックします。

- 「ディレクトリの参照」ダイアログが表示されたら、CSVファイルをアップロードするFTPサーバー上のディレクトリを選択して[OK]ボタンをクリックします。

- 次に、アップロード先にすでに同名ファイルがある場合にそれを上書きするかどうかを「OverwriteFileAtDest」プロパティで設定します(デフォルトで“True<上書きする>”となっています)。
- これをTrueに設定した場合には、そのFTPユーザーにサーバー上のファイルを削除する権限が必要です。
- 次に、ローカルのファイル、つまりアップロード元のCSVファイルを指定します。それには「LocalPath」プロパティ欄の右端にある[▼]ボタンをクリックし、「<新しい接続>」を選択します。

- 「ファイル接続マネージャエディタ」ダイアログが表示されたら、[参照]ボタンなどを使うなどして、アップロードするCSVファイルを指定します。

なおこの接続情報も、接続マネージャの一覧に追加されます。

- 次に「Operation」プロパティで処理内容を選択します。
デフォルトで「ファイルの送信」となっていますので、今回は変更する必要はありませんが、このタスクでは下図のようにアップロード・ダウンロードだけでなくいろいろな操作ができることが分かります。
- この選択項目の切り替えによって「FTPタスクエディタ」の表示内容が変わります。選択肢に応じて設定項目が違います。
- 必要に応じて「IsTransferAscii」プロパティ(ASCIIモードで転送するかどうか)など、その他のプロパティを設定します。
- 最後に[OK]ボタンをクリックして「FTPタスクエディタ」ダイアログを閉じ、パッケージを実行してみます。
|