SSIS を使ってOutlook のデータをSQL Server にインポート

古川えりか
古川えりか
コンテンツスペシャリスト
CData SSIS Components を使用して簡単にSQL Server へOutlook をバックアップします。



SQL Server に基幹業務データのバックアップを保管しておくことは、ビジネス上のセーフティネットとなります。また、ユーザーはSQL Server のバックアップデータからレポーティングや分析を簡単に行うことができます。

ここでは、SQL サーバー SSIS ワークフロー内でCData SSIS Tasks for API を使用して、Outlook のデータをMicrosoft SQL Server データベースに転送する方法を説明します。

Components の追加

開始するには、新しいOutlook ソースとSQL Server ADO.NET 転送先を新しいデータフロータスクに追加します。

The Data Flow task used in this example.(Salesforce is shown.)

新しいコネクションマネジャーを作成

以下のステップに従って、接続マネジャーでOutlook 接続プロパティを保存します。

  1. Connection Manager ウィンドウで、右クリックで[New Connection] を選択します。Add SSIS Connection Manager ダイアログが表示されます。
  2. [Connection Manager type]メニューでAPI を選択します。CData Outlook Connection Manager が表示されます。
  3. 接続プロパティを構成します。

    OAuth 認証の設定

    Microsoft Graph API は認証に OAuth 2.0 を使用します。OAuth 認証情報(Client ID と Client Secret)を取得するには、Microsoft Azure Portal でアプリケーションを登録する必要があります。

    OAuth 認証情報の取得

    1. Azure Portal にログインします。
    2. Azure Active Directory > App registrations に移動します。
    3. New registration をクリックして新しいアプリケーションを作成します。
    4. アプリケーション名を入力し、適切なアカウントの種類を選択します。
    5. Redirect URI をアプリケーションのコールバック URL に設定します(デスクトップアプリの場合は http://localhost:33333 など)。
    6. Register をクリックしてアプリケーションを作成します。
    7. アプリケーションの概要ページで Application (client) ID をコピーします。これが OAuthClientId になります。
    8. Certificates & secrets に移動して、新しいクライアントシークレットを作成します。
    9. クライアントシークレットの値をコピーします。これが OAuthClientSecret になります。
    10. API permissions に移動して、必要な Microsoft Graph API の権限を追加します:
      • Mail.Read - メールメッセージへのアクセス用
      • Contacts.Read - 連絡先へのアクセス用
      • Calendars.Read - カレンダーイベントへのアクセス用
      • Tasks.Read - To Do タスクへのアクセス用
      • offline_access - リフレッシュトークンの取得用
    11. Grant admin consent をクリックして、これらの権限を付与します。

    OAuth での接続

    以下の接続プロパティを設定して接続を確立してください:

    • AuthScheme:OAuth に設定します。
    • InitiateOAuthGETANDREFRESH に設定します。CData API Profile for Outlook が OAuth プロセスを自動的に進め、アクセストークンを取得します。
    • OAuthClientId:Azure Portal の Application (client) ID に設定します。
    • OAuthClientSecret:Azure Portal のクライアントシークレットの値に設定します。
    • TenantId:Azure AD のテナント識別子(GUID または 'contoso.onmicrosoft.com' のようなドメイン名)に設定します。
    • CallbackURL:アプリ登録で指定したリダイレクト URI に設定します(デスクトップアプリの場合は http://localhost:33333 など)。

    接続文字列の例

    Profile=C:\profiles\Outlook.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;TenantId=your_tenant_id;CallbackUrl=http://localhost:33333;
    

Outlook Source の構成

以下のステップに従って、Outlook の抽出に使用するクエリを指定します。

  1. Outlook ソースをダブルクリックしてソースコンポーネントエディタを開きます。
  2. [Connection Manager]メニューで、以前作成した接続マネジャーを選択します。The Connection Manager to be used for the source component.(Salesforce is shown.)
  3. データの書き出しに使用するクエリを指定します。例:
    SELECT ,  FROM CalendarGroupCalendars WHERE CalendarGroupId = 'group_id'
    
    The SQL query to retrieve records.(Salesforce is shown.)
  4. Outlook Source コントロールを閉じて、ADO.NET Destination に接続します。

SQL Server Destination を構成する

以下のステップに従って、Outlook をロードするSQL サーバーテーブルを指定します。

  1. ADO.NET Destination を選択して、新しい接続を追加します。接続するサーバーおよびデータベースの情報を入力。
  2. Data access モードメニューで、[table or view]を選択します。
  3. [Table Or View]メニューで、設定するテーブルまたはビューを選択します。
  4. [Mappings]画面で必要なプロパティを設定します。 The mappings from the SSIS source component to SQL Server.(Salesforce is shown.)

プロジェクトの実行

プロジェクトを実行できるようになりました。SSIS Task の実行が完了すると、データベースにOutlook のデータが入力されます。

The completed import.(Salesforce is shown.)

はじめる準備はできましたか?

API Driver で Outlook のライブデータに接続

Outlook に接続