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

- 新しい接続を追加し、Harvest 2015 用の .NET プロバイダー\CData ADO.NET Provider for APIs 2015
Connection Manager で、Harvest 用に接続の詳細を入力します。下は一般的な接続文字列です。
Profile=C:\profiles\Harvest.apip;ProfileSettings='APIKey=my_personal_key;AccountId=_your_account_id';
まず、Profile 接続プロパティをディスク上のHarvest プロファイルの場所に設定します(例:C:\profiles\Harvest.apip)。次に、ProfileSettings 接続プロパティをHarvest の接続文字列に設定します(以下を参照)。
Harvest API プロファイル設定
Harvest に認証するには、トークン認証またはOAuth 標準のいずれかを使用できます。自分のデータに接続するにはBasic 認証を使用します。他のユーザーが自分のデータに接続できるようにするにはOAuth を使用します。
トークン認証の使用
トークン認証を使用するには、ProfileSettings 接続プロパティでAPIKey にHarvest パーソナルアクセストークンを設定します。APIKey に加えて、ProfileSettings でAccountId を設定して接続します。
OAuth 認証の使用
まず、Harvest でOAuth2 アプリケーションを登録します。アプリケーションはHarvest ID の「Developers」セクションから作成できます。
以下の接続プロパティを設定すると、接続できるようになります。
- ProfileSettings:ProfileSettings でAccountId を設定します。
- AuthScheme:OAuth に設定します。
- OAuthClientId:アプリ設定で指定したclient ID に設定します。
- OAuthClientSecret:アプリ設定で指定したclient secret に設定します。
- CallbackURL:アプリ設定で指定したRedirect URI に設定します。
- InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使用して、ドライバーがOAuthAccessToken を取得および更新する方法を管理できます。

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

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