SSIS を使ってStack Exchange のデータをSQL Server にインポート
SQL Server に基幹業務データのバックアップを保管しておくことは、ビジネス上のセーフティネットとなります。また、ユーザーはSQL Server のバックアップデータからレポーティングや分析を簡単に行うことができます。
ここでは、SQL サーバー SSIS ワークフロー内でCData SSIS Tasks for API を使用して、Stack Exchange のデータをMicrosoft SQL Server データベースに転送する方法を説明します。
Components の追加
開始するには、新しいStack Exchange ソースとSQL Server ADO.NET 転送先を新しいデータフロータスクに追加します。
新しいコネクションマネジャーを作成
以下のステップに従って、接続マネジャーでStack Exchange 接続プロパティを保存します。
- Connection Manager ウィンドウで、右クリックで[New Connection] を選択します。Add SSIS Connection Manager ダイアログが表示されます。
- [Connection Manager type]メニューでAPI を選択します。CData Stack Exchange Connection Manager が表示されます。
- 接続プロパティを構成します。
まず、Profile 接続プロパティをディスク上の Stack Exchange プロファイルの場所に設定します(例:C:\profiles\StackExchange.apip)。次に、ProfileSettings 接続プロパティを Stack Exchange の接続文字列に設定します(以下を参照)。
Stack Exchange API プロファイル設定
StackApps でアプリケーションを登録して、API キーを取得します。Site プロパティでは、クエリ対象の Stack Exchange サイトを指定します(例:stackoverflow)。
Stack Exchange Source の構成
以下のステップに従って、Stack Exchange の抽出に使用するクエリを指定します。
- Stack Exchange ソースをダブルクリックしてソースコンポーネントエディタを開きます。
- [Connection Manager]メニューで、以前作成した接続マネジャーを選択します。

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