Outlook のデータをA5:SQL Mk-2 でCRUD クエリする方法

兵藤朋代
兵藤朋代
コンテンツスペシャリスト
ODBC Driver を使ってAPI コーディングなしでOutlook のデータを自在にCRUD。



SQL 開発ツールといえば「A5:SQL Mk-2」が有名です。Windows ODBC に強い!というイメージです。多くのエンジニアやIT 担当者に利用されています。 本記事では、Outlook のデータをCData ODBC ドライバを使って、A5:SQL MK-2 からクエリする方法を説明します。

CData ODBC ドライバとは?

300種類以上の業務システムやDB をお好みのツールとノーコード連携

CData ODBC ドライバは、以下のような特徴を持つデータ連携ツールです。

Outlook をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの300種類以上のSaaS / オンプレデータソースに対応
A5:SQL Mk-2 をはじめとする多様な帳票・BI ツールにOutlook のデータを連携
ノーコードでの手軽な接続設定
標準SQL での柔軟なデータ読み込み・書き込み
ベーシック認証 / OAuth 2.0 / SAML など多様な認証方式に対応
このチュートリアルではCData ODBC Drivers を使用してkintone とのデータ連携をノーコードで設定します

CData ODBC ドライバでは、1.データソースとしてOutlook の接続を設定、2.A5:SQL Mk-2 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとOutlook への接続設定

まずは、本記事右側のサイドバーからAPI ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。

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;

A5:SQL Mk-2 からのOutlook ODBC データソースのクエリ利用方法

ODBC DSN の利用方法

「データベース」→「データベースの追加と削除」を開きます。

「64bit ODBCシステムデータソースを列挙する」にチェックを入れます。システムデータソースを利用するか、ユーザーデータソースを利用するかはどちらでもかまいません。

データベースとして、設定しているODBC DSN がツリービューで表示されます。CData ODBC ドライバで設定されたDSN もここに表示されます。

「CData Outlook Sys」をダブルクリップします。データベースログイン画面が開くので、ODBC DSN 設定時に使ったOutlook のユーザーとパスワードでログインします。

Outlook のオブジェクトがテーブル・ビュー・ストアドプロシージャにモデル化されて表示されます。

テーブルを開いてみます。オブジェクトで利用できるデータがカラムとしてモデル化されています。それぞれのカラムにはデータ型の情報も付いています。

これでA5:SQL Mk2 でOutlook のデータがクエリできます。

Outlook のデータをSELECT する

対象のテーブル・ビューを右クリックして「SQL の作成」をクリックしてクエリ作成画面を開きます。

SELECT にチェックを入れます。とりあえず全カラムを指定して条件なしでクエリしてみます。

SQL クエリがA5M2 から生成されます。実行ボタンで実行するとOutlook の選択したオブジェクトがクエリされ、データがテーブルとして返されます。

次にフィルタリング条件を付けてみます。SQL の作成画面で「絞り込み条件に利用するカラム」をドロップダウンから選択します。以下の絞り込み条件付きのSQL 文がA5M2から生成されるので、WHERE 句に条件を書いて実行します。

    --*DataTitle "Outlook"."(テーブル名)"
--*CaptionFromComment
SELECT
  "Id"                                            -- Id
  , "LastName"                                    -- LastName
  , "FirstName"                                   -- FirstName
  , "Name"                                        -- Name
  , "Title"                                       -- Title
  , "Company"                                     -- Company
  , "Status"                                      -- Status
  , "Industry"                                    -- Industry
FROM
  "API"."Lead"
WHERE
  "Company" = '(フィルタリング条件を入力)'

同じ要領でSQL 作成UI から、SELECT だけでなく、INSERT、UPDATE、DELETE のクエリが作成できます。JOIN や集計クエリもANSI-92 のSQL で作れます。

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをA5:SQL Mk-2 からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

日本のユーザー向けにCData ODBC ドライバは、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

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

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

Outlook に接続