SSIS を使ってHarvest のデータをSQL Server にインポート
SQL Server に基幹業務データのバックアップを保管しておくことは、ビジネス上のセーフティネットとなります。また、ユーザーはSQL Server のバックアップデータからレポーティングや分析を簡単に行うことができます。
ここでは、SQL サーバー SSIS ワークフロー内でCData SSIS Tasks for API を使用して、Harvest のデータをMicrosoft SQL Server データベースに転送する方法を説明します。
Components の追加
開始するには、新しいHarvest ソースとSQL Server ADO.NET 転送先を新しいデータフロータスクに追加します。
新しいコネクションマネジャーを作成
以下のステップに従って、接続マネジャーでHarvest 接続プロパティを保存します。
- Connection Manager ウィンドウで、右クリックで[New Connection] を選択します。Add SSIS Connection Manager ダイアログが表示されます。
- [Connection Manager type]メニューでAPI を選択します。CData Harvest Connection Manager が表示されます。
- 接続プロパティを構成します。
まず、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 を取得および更新する方法を管理できます。
Harvest Source の構成
以下のステップに従って、Harvest の抽出に使用するクエリを指定します。
- Harvest ソースをダブルクリックしてソースコンポーネントエディタを開きます。
- [Connection Manager]メニューで、以前作成した接続マネジャーを選択します。

- データの書き出しに使用するクエリを指定します。例:
SELECT Id, ClientName FROM Invoices WHERE State = 'open'

- Harvest Source コントロールを閉じて、ADO.NET Destination に接続します。
SQL Server Destination を構成する
以下のステップに従って、Harvest をロードするSQL サーバーテーブルを指定します。
- ADO.NET Destination を選択して、新しい接続を追加します。接続するサーバーおよびデータベースの情報を入力。
- Data access モードメニューで、[table or view]を選択します。
- [Table Or View]メニューで、設定するテーブルまたはビューを選択します。
- [Mappings]画面で必要なプロパティを設定します。
プロジェクトの実行
プロジェクトを実行できるようになりました。SSIS Task の実行が完了すると、データベースにHarvest のデータが入力されます。