データ統合ツールQlik Replicate を使ってSharePoint Excel Services のデータをMySQL にレプリケートする方法

杉本和也
杉本和也
リードエンジニア
Qlik Replicate でSharePoint Excel Services をMySQL にレプリケートする方法。



Qlik Replicate はBI ツールのQlik Sense で有名な、Qlik 社が提供するデータ分析基盤のためのデータパイプライン・データ統合ツールです。主要なプラットフォームに多く対応しているのが特徴で、AWS・GCP・Azure・Oracle・Snowflake などのDWH に各種データを取り込むことが可能です。

Qlik Replicate ではODBC インターフェースが用意されているので、CData ODBC Driver for ExcelServices と組み合わせることで、各種クラウドサービスのAPI にアクセスすることができるようになります。本記事では、CData ODBC ドライバを使ってQlik Replicate からSharePoint Excel Services のデータをMySQL にレプリケートする方法をご紹介します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. SharePoint Excel Services をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにSharePoint Excel Services のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

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

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

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

インストール後、ODBC DSN(データソース名)で接続プロパティを設定します。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および設定できます。

ワークブックへの接続

どちらのSharePoint エディションをお使いでも、File を Excel ワークブックに設定してください。このパスは以下のプロパティからの相対パスになります。

  • Library:デフォルトではShared Documents ライブラリが使用されます。このプロパティを使って、組織内の別のドキュメントライブラリを指定してみてください。例えば、OneDrive for Business に接続する場合は、このプロパティを"Documents" に設定します。
  • Folder:このプロパティを使って、ライブラリ内のサブフォルダへのパスを指定できます。パスはLibrary で指定されたライブラリ名に関連します。

テーブルとしてのスプレッドシートデータへの接続

CData 製品では、基底API で利用可能なオブジェクトに基づいて、使用可能なテーブルを検出していきます。

API では異なるAPI オブジェクトを表示します。スプレッドシートの構成とSharePoint のバージョンに基づいてAPI を選択しましょう。

  • OData: OData API を使用すると、Excel で[挿入]->[テーブル]をクリックして作成されたExcel テーブルオブジェクト(範囲やスプレッドシートではありません)から定義されたテーブルにアクセスできます。OData API に接続する際、ワークブックにテーブルオブジェクトが定義されていない場合は、CData 製品がテーブルを返さないことがあります。テーブルとしてスプレッドシートまたは範囲に接続するには、UseRESTAPI をtrue に設定してください。
  • REST: REST API を使用すると、Excel テーブルオブジェクト、範囲、およびスプレッドシートから定義されたテーブルへアクセスできます。これがデフォルトの API です。範囲およびスプレッドシートから多数の行をリクエストすることは REST API によって制限されており、CData 製品では返される行数をデフォルトで 100 に制限しています。また CData 製品では、デフォルトで1行目からカラム名を検出します。これを無効にするには、Header を設定してください。

DefineTables を追加設定すると、Excel の範囲の構文を使用して、範囲に基づいてテーブルを定義できます。大きすぎる範囲は、API によって制限されます。

SharePoint オンプレミスへの接続

URL をサーバー名もしくはIP アドレスに設定しましょう。さらに、SharePointVersion と認証値を設定します。

SharePoint OnPremises を認証するには、AuthScheme を認証タイプに設定し、必要に応じてUserPassword を設定してください。

Note:SharePoint On-Premises 2010 に接続する場合は、 UseRESTAPI をtrue に設定する必要があります。

    Windows(NTLM)

    最も一般的な認証タイプです。CData 製品では NTLM をデフォルトとして使用するよう事前設定されています。Windows のUserPassword を設定して接続してください。

    その他の認証方法については、ヘルプドキュメントの「はじめに」をご覧ください。

    Qlik Replicate にODBC データソースを追加

    CData ODBC ドライバの設定が完了したら、Qlik Replicate を立ち上げてレプリケーション構成を進めていきましょう。Qlik Replicate ではタスクという単位でレプリケーション処理を構成していきますが、まずタスクで利用するデータソースとレプリケーション先のコネクション情報を登録する必要があるので、この設定を行います。

    1. Qlik Replicate の管理画面に移動したら、 「Manage Endpoint Connections…」をクリックします。 データソースをQlik Replicate に追加
    2. その後表示される画面で、「+New Endpoint Connection」をクリック。この画面からデータソースとレプリケーション先(ターゲット)のコネクションを構成していきます。 データソースをQlik Replicate に追加
    3. まずはデータソースとなるSharePoint Excel Services へのコネクションを構成します。前述の通り、SharePoint Excel Services への連携はCData ODBC ドライバを経由して行うため、「Role:Source」「Type:ODBC」でコネクションを構成します。 エンドポイントのロールとタイプを指定
    4. そして、事前に構成しておいたSharePoint Excel Services のDSN を指定します。任意のName を指定したあと、Test Connection がパスできれば設定完了です。

    MySQL Target 接続を追加

    続いて、レプリケーション先となるMySQL へのコネクションも追加します。

    1. 先程と同じように「+New Endpoint Connection」をクリックします。
    2. 「Role: Target」「Type: MySQL」を指定して、Server アドレスやUserName、Password などMySQL 接続に必要な接続情報をそれぞれ指定し、保存します。 MySQL 接続を追加

    Task の構成

    コネクションの作成が完了したら、実際のレプリケーション処理であるTask の作成を進めていきましょう。

    1. 「+New Task」をクリックし、任意の名称でTask を作成します。Replication Profileは「Unidirectional:単方向」でTask Optionsは「Full Load」を指定します。
    2. 新規Task を作成
    3. タスク作成後の画面で、データソースには先程作成したSharePoint Excel Services のコネクションを、ターゲットにはMySQL のコネクションを、ドラッグドロップでそれぞれ指定します。
    4. Task の設定画面

    レプリケーション対象のテーブルを選択

    データソースとターゲットを決めたら、レプリケーション対象のテーブルを指定しましょう。

    1. 「Table Selection」をクリックします。
    2. Table Selection をクリック
    3. 「Search」をクリックして、対象となるテーブルを検索します。以下のようにSharePoint Excel Services のテーブル一覧が表示されるので、任意のテーブルを選択していきます。
    4. テーブルを検索
    5. これで以下のように選択されればOK です。ちなみにデフォルトではテーブルの全レコード・全カラムをレプリケーションしますが、Global Rules から細かな条件や項目の設定がチューニング可能です。
    6. テーブルを選択

    作成したTask を実行

    それでは作成したTask を実際に実行してみましょう。

    1. 「Run」をクリックすることで、レプリケーションを開始できます。
    2. Run をクリック
    3. レプリケーションが進むとMonitor 画面に遷移し、レプリケーション結果を確認できます。Completed が表示されればOKです。
    4. 実際にMySQL のテーブルを確認してみると、以下のようにテーブルが自動生成され、データが正常に複製されていました。
    5. MySQL 画面

    おわりに

    このようにCData ODBC ドライバを利用することで、各種クラウドサービスをQlik Replicate の接続先として利用できるようになります。また、今回は入力データソースとして利用しましたが、出力データソースとしても対応可能になっています。 CData ではSharePoint Excel Services 以外にも270種類以上のデータソース向けにODBC Driver を提供しています。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

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

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

SharePoint Excel Services ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SharePoint Excel Services Icon SharePoint Excel Services ODBC Driver お問い合わせ

Excel Services ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなExcel Services データに接続できるパワフルなツールです。標準のODBC ドライバーインターフェースを使用して、データベースのようにSharePoint サーバーでホストされているExcel スプレッドシートデータにアクセスし、データ連携を実行できます。