SFTP をSSIS 経由でSQL サーバーにバックアップする

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

SFTP ADO.NET Provider

.NET アプリケーションからリモートファイルやディレクトリに簡単にアクセス。



SFTP 用のCData ADO.NET プロバイダーを使用して簡単にSQL サーバーへデータをバックアップします。ここでは、SFTP をデータベースに入力する際、SSIS ワークフローを使用します。

SFTP 用のCData ADO.NET プロバイダーはSFTP をバックアップ、レポート、フルテキスト検索、分析などを行うアプリケーションに接続します。

ここでは、SQL サーバー SSIS ワークフロー内でSFTP 用のプロバイダーを使用して、SFTP をMicrosoft SQL サーバーデータベースに直接転送する方法を説明します。 以下のアウトラインと同じ手順を、CData ADO.NET データプロバイダーにて使用することで、SSIS 経由でSQL サーバーを直接リモートデータに接続できます。

  1. Visual Studio を開き、新しいIntegration サービスプロジェクトを追加します。
  2. ツールボックスからControl Flow 画面へ、新しいData Flow タスクを追加します。
  3. Data Flow 画面で、ツールボックスから[ADO.NET Source] と[OLE DB Destination] を追加します。

  4. 新しい接続を追加し、SFTP 2015 用の .NET プロバイダー\CData ADO.NET プロバイダーを選択します。
  5. Connection Manager で、SFTP 用に接続の詳細を入力します。下は一般的な接続文字列です。

    RemoteHost=MyFTPServer;

    FTP は、SFTP プロトコルを使用してSFTP サーバーとの間のファイル転送を行います。接続するにはRemoteHost を指定します。FTP はUser、Password、および公開鍵認証(SSHClientCert)を使用します。 SSHAuthMode を選択し、選択に基づいて接続値を指定します。

    次の接続プロパティを設定し、ファイルシステムのリレーショナルビューをコントロールします。

    • RemotePath: 現在の作業ディレクトリに設定。
    • TableDepth: ビューとしてレポートするサブフォルダの深度を制御するために設定。
    • FileRetrievalDepth: ファイルを再帰的に取得し、Root テーブルにリストするために設定。
    ストアドプロシージャは、ファイル、のダウンロード、アップロード、およびプロトコルコマンドの送信に利用できます。SQL を使用してサーバーと対話する方法の詳細については、ヘルプドキュメントの「データモデル」を参照してください。

  6. DataReader editor を開き、次のインフォメーションを設定します。

    • ADO.NET 接続マネージャー:Connection Manager のメニューで、先ほど作成した[Data Connection] を選択します。
    • データアクセスモード:[SQL command] を選択します。
    • SQL command テキスト:DataReader Source editor で、Component Properties タブを開き、下にあるようなSELECT command を入力します。

      SELECT Filesize, Filename FROM MyDirectory WHERE FilePath = /documents/doc.txt

  7. DataReader editor を閉じ、DataReader Source の下の矢印をドラッグして、OLE DB Destination に接続します。
  8. OLE DB Destination を開き、Destination Component Editor で次のインフォメーションを入力します。

    • コネクションマネージャー:新しい接続を追加します。接続するサーバーおよびデータベースの情報を入力します。ここでは、SQLExpress は他のマシンで運用中です。
    • データアクセスモード:データアクセスモードを[table or view] に設定し、データベースに入力するテーブルまたはビューを選択します。
  9. Mappings 画面で必要なプロパティを設定します。

  10. OLE DB Destination Editor を閉じ、プロジェクトを始動します。SSIS タスクの実行が完了すれば、 SFTP から取得したデータが、データベースに入力されます。