ConstantContact をSSIS 経由でSQL サーバーにバックアップする
ConstantContact 用のCData ADO.NET プロバイダーはConstantContact をバックアップ、レポート、フルテキスト検索、分析などを行うアプリケーションに接続します。
ここでは、SQL サーバー SSIS ワークフロー内でConstantContact 用のプロバイダーを使用して、ConstantContact をMicrosoft SQL サーバーデータベースに直接転送する方法を説明します。 以下のアウトラインと同じ手順を、CData ADO.NET データプロバイダーにて使用することで、SSIS 経由でSQL サーバーを直接リモートデータに接続できます。
- Visual Studio を開き、新しいIntegration サービスプロジェクトを追加します。
- ツールボックスからControl Flow 画面へ、新しいData Flow タスクを追加します。
Data Flow 画面で、ツールボックスから[ADO.NET Source] と[OLE DB Destination] を追加します。

- 新しい接続を追加し、ConstantContact 2015 用の .NET プロバイダー\CData ADO.NET Provider for APIs 2015
Connection Manager で、ConstantContact 用に接続の詳細を入力します。下は一般的な接続文字列です。
Profile=C:\profiles\ConstantContact.apip;Authscheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;
まず、Profile 接続プロパティをディスク上のConstantContact プロファイルの場所に設定します(例:C:\profiles\ConstantContact.apip)。次に、ProfileSettings 接続プロパティをプロファイルの接続文字列に設定します(以下を参照)。
ConstantContact API プロファイル設定
ConstantContact はOAuth ベースの認証を使用します。
まず、ConstantContact でOAuth アプリケーションを登録します。ConstantContact API ガイド(https://v3.developer.constantcontact.com/api_guide/index.html)の「MyApplications」>「New Application」から登録できます。OAuth アプリケーションにはclient id(API キー)が割り当てられ、client secret(シークレット)を生成できます。
以下の接続プロパティを設定すると、接続できるようになります。
- AuthScheme:OAuth に設定します。
- InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使用して、OAuthAccessToken を取得するプロセスを管理できます。
- OAuthClientId:アプリ設定で指定されたclient_id に設定します。
- OAuthClientSecret:アプリ設定で指定されたclient_secret に設定します。
- CallbackURL:アプリ設定で指定したRedirect URI に設定します。

DataReader editor を開き、次のインフォメーションを設定します。
- ADO.NET 接続マネージャー:Connection Manager のメニューで、先ほど作成した[Data Connection] を選択します。
- データアクセスモード:[SQL command] を選択します。
- SQL command テキスト:DataReader Source editor で、Component Properties タブを開き、下にあるようなSELECT command を入力します。
SELECT Id, EmailAddress FROM Contacts WHERE CompanyName = 'Acme, Inc.'
- DataReader editor を閉じ、DataReader Source の下の矢印をドラッグして、OLE DB Destination に接続します。
OLE DB Destination を開き、Destination Component Editor で次のインフォメーションを入力します。
- コネクションマネージャー:新しい接続を追加します。接続するサーバーおよびデータベースの情報を入力します。ここでは、SQLExpress は他のマシンで運用中です。
- データアクセスモード:データアクセスモードを[table or view] に設定し、データベースに入力するテーブルまたはビューを選択します。
Mappings 画面で必要なプロパティを設定します。

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