Oracle Data Integrator で SharePoint データをETL

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Oracle Data Integrator を使用してSharePoint のデータをデータウェアハウスに転送する方法を説明します。

JDBC 標準を使用して、既存のスキルを活かしながらSharePoint に読み書きできます。 Oracle Data Integrator(ODI)などの ETL ツールにドロップインで統合できる CData JDBC Driver for SharePoint を使えば、リアルタイムのSharePoint のデータをデータウェアハウス、ビジネスインテリジェンス、ビッグデータテクノロジーに接続できます。

JDBC 接続により、ODI でSharePoint を他のデータベースと同様に扱うことができます。RDBMS と同じように、フラットファイルではなくリアルタイムでSharePoint API に直接接続できます。

この記事では、JDBC ベースの ETL(SharePoint から Oracle へ)の手順を説明します。SharePoint エンティティのデータモデルをリバースエンジニアリングした後、マッピングを作成し、データロード戦略を選択します。ドライバーが SQL-92 をサポートしているため、組み込みの SQL to SQL Loading Knowledge Module を選択するだけで簡単に実現できます。

SharePoint データ連携について

CData を使用すれば、SharePoint のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • Windows SharePoint Services 3.0、Microsoft Office SharePoint Server 2007 以降、SharePoint Online を含む、幅広い SharePoint バージョンのデータにアクセスできます。
  • 非表示カラムとルックアップカラムのサポートにより、SharePoint のすべてにアクセスできます。
  • フォルダを再帰的にスキャンして、すべての SharePoint データのリレーショナルモデルを作成できます。
  • SQL ストアドプロシージャを使用して、ドキュメントや添付ファイルをアップロード・ダウンロードできます。

多くのお客様は、SharePoint データをデータベースやデータウェアハウスに統合するために CData ソリューションを活用していますが、Power BI、Tableau、Excel などのお気に入りのデータツールと SharePoint データを統合しているお客様もいます。

お客様が CData の SharePoint ソリューションで問題を解決している方法については、ブログをご覧ください:Drivers in Focus: Collaboration Tools


はじめに


ドライバーのインストール

ドライバーをインストールするには、インストールフォルダにあるドライバー JAR(cdata.jdbc.sharepoint.jar)と .lic ファイル(cdata.jdbc.sharepoint.lic)を、ODI の適切なディレクトリにコピーします。

  • UNIX/Linux(エージェントなし): ~/.odi/oracledi/userlib
  • UNIX/Linux(エージェントあり): ~/.odi/oracledi/userlib および $ODI_HOME/odi/agent/lib
  • Windows(エージェントなし): %APPDATA%\Roaming\odi\oracledi\userlib
  • Windows(エージェントあり): %APPDATA%\odi\oracledi\userlib および %APPDATA%\odi\agent\lib

ODI を再起動してインストールを完了します。

モデルのリバースエンジニアリング

モデルをリバースエンジニアリングすると、ドライバーのSharePoint のデータに対するリレーショナルビューのメタデータが取得されます。リバースエンジニアリング後は、リアルタイムのSharePoint のデータをクエリし、SharePoint テーブルに基づいてマッピングを作成できます。

  1. ODI でリポジトリに接続し、New -> Model and Topology Objects をクリックします。
  2. 表示されるダイアログの Model 画面で、以下の情報を入力します。
    • Name: SharePoint と入力します。
    • Technology: Generic SQL を選択します(ODI バージョン 12.2 以降の場合は Microsoft SQL Server を選択)。
    • Logical Schema: SharePoint と入力します。
    • Context: Global を選択します。
  3. 表示されるダイアログの Data Server 画面で、以下の情報を入力します。
    • Name: SharePoint と入力します。
    • Driver List: Oracle JDBC Driver を選択します。
    • Driver: cdata.jdbc.sharepoint.SharePointDriver と入力します。
    • URL: 接続文字列を含む JDBC URL を入力します。

      Microsoft SharePoint への接続

      URL の設定:

      Microsoft SharePoint では、2つの範囲でデータを操作できます。グローバルなMicrosoft SharePoint サイト全体を対象にするか、個々のサイトのみを対象にするかを選択できます。

      グローバルなMicrosoft SharePoint サイトですべてのリストおよびドキュメントを操作したい場合は、URL 接続プロパティをサイトコレクションURL に設定しましょう。以下のような形式です。

      https://teams.contoso.com

      個々のサイトのリストおよびドキュメントのみを扱いたい場合は、URL 接続プロパティを個々のサイトURL に設定してください。以下のような形式です。

      https://teams.contoso.com/TeamA

      続いて、お使いの環境に適した認証プロパティを設定していきましょう。詳細な設定手順については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご参照ください。

      Microsoft SharePoint Online

      SharePointEdition を"SharePoint Online" に設定し、User およびPassword にはSharePoint へのログオンで使用するクレデンシャル(例:Microsoft Online Services アカウントのクレデンシャル)を設定します。

      Microsoft SharePoint Online は様々なクラウドベースアーキテクチャをサポートしており、それぞれ異なる認証スキームが利用できます。

      • Microsoft Entra ID(Azure AD)
      • ADFS、Okta、OneLogin、またはPingFederate SSO ID プロバイダーを介したシングルサインオン(SSO)
      • Azure MSI
      • Azure パスワード
      • OAuthJWT
      • SharePointOAuth

      Microsoft SharePoint オンプレミス

      Microsoft SharePoint オンプレミスでは、多くのオンプレミス環境に対応した認証方式をサポートしています。

      • Windows(NTLM)
      • Kerberos
      • ADFS
      • 匿名アクセス

      まずSharePointEdition を"SharePoint On-Premises" に設定しましょう。

      Windows(NTLM)認証

      これは最も一般的な認証方式です。そのため、CData 製品ではNTLM をデフォルトとして使用するよう事前設定されています。Windows のUser およびPassword を設定するだけで接続できます。

      組み込みの接続文字列デザイナー

      JDBC URL の作成には、SharePoint JDBC Driver に組み込まれている接続文字列デザイナーをご利用ください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

      java -jar cdata.jdbc.sharepoint.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      一般的な接続文字列は以下のとおりです。

      jdbc:sharepoint:User=myuseraccount;Password=mypassword;Auth Scheme=NTLM;URL=http://sharepointserver/mysite;SharePointEdition=SharePointOnPremise;
      
  4. Physical Schema 画面で、以下の情報を入力します。
    • Name: ドロップダウンメニューから選択します。
    • Database (Catalog): CData と入力します。
    • Owner (Schema): SharePoint でスキーマを選択した場合は選択したスキーマを入力し、それ以外の場合は SharePoint と入力します。
    • Database (Work Catalog): CData と入力します。
    • Owner (Work Schema): SharePoint でスキーマを選択した場合は選択したスキーマを入力し、それ以外の場合は SharePoint と入力します。
  5. 開いたモデルで Reverse Engineer をクリックして、SharePoint テーブルのメタデータを取得します。

SharePoint のデータの編集と保存

リバースエンジニアリングが完了すると、ODI でSharePoint のデータを操作できるようになります。 SharePoint のデータを編集・保存するには、Designer ナビゲーターで Models アコーディオンを展開し、テーブルを右クリックして Data をクリックします。Refresh をクリックするとデータの変更を取得できます。変更が完了したら Save Changes をクリックします。

ETL プロジェクトの作成

以下の手順に従って、SharePoint からの ETL を作成します。ODI Getting Started VM に含まれるサンプルデータウェアハウスに MyCustomList エンティティをロードします。

  1. SQL Developer を開き、Oracle データベースに接続します。Connections ペインでデータベースのノードを右クリックし、new SQL Worksheet をクリックします。

    または、SQLPlus を使用することもできます。コマンドプロンプトから以下を入力します。

    sqlplus / as sysdba
    
  2. 以下のクエリを入力して、ODI_DEMO スキーマにあるサンプルデータウェアハウスに新しいターゲットテーブルを作成します。以下のクエリでは、SharePoint の MyCustomList テーブルに対応するいくつかのカラムを定義しています。
    CREATE TABLE ODI_DEMO.TRG_MYCUSTOMLIST (REVENUE NUMBER(20,0),Name VARCHAR2(255));
    
  3. ODI で Designer ナビゲーターの Models アコーディオンを展開し、ODI_DEMO フォルダ内の Sales Administration ノードをダブルクリックします。モデルエディターでモデルが開きます。
  4. Reverse Engineer をクリックします。TRG_MYCUSTOMLIST テーブルがモデルに追加されます。
  5. プロジェクト内の Mappings ノードを右クリックし、New Mapping をクリックします。マッピングの名前を入力し、Create Empty Dataset オプションのチェックを外します。Mapping Editor が表示されます。
  6. Sales Administration モデルから TRG_MYCUSTOMLIST テーブルをマッピングにドラッグします。
  7. SharePoint モデルから MyCustomList テーブルをマッピングにドラッグします。
  8. ソースのコネクタポイントをクリックし、ターゲットのコネクタポイントにドラッグします。Attribute Matching ダイアログが表示されます。この例では、デフォルトのオプションを使用します。ターゲットカラムのプロパティにターゲット式が表示されます。
  9. Mapping Editor の Physical タブを開き、TARGET_GROUP 内の MYCUSTOMLIST_AP をクリックします。
  10. MYCUSTOMLIST_AP のプロパティで、Loading Knowledge Module タブの LKM SQL to SQL (Built-In) を選択します。

マッピングを実行して、SharePoint のデータを Oracle にロードできます。

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

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

 ダウンロード

詳細:

SharePoint Icon SharePoint JDBC Driver お問い合わせ

Java 開発者は、Web、デスクトップ、およびモバイルアプリケーションをSharePoint Server のリスト、連絡先、カレンダー、リンク、タスクなどのデータに簡単に接続できるようになります。