Remote Oracle Database としてSAP SuccessFactors のデータにアクセス

古川えりか
古川えりか
コンテンツスペシャリスト
Oracle Heterogenous Services を使ってOracle system からSAP SuccessFactors にアクセス。

CData ODBC Driver for SAPSuccessFactors を使って、ODBC 標準をサポートするあらゆるアプリケーションからデータに連携できます。Oracle Database Gateway for ODBC は、ODBC データソースにリモートOracle データベースとして連携接続できるようにするHeterogeneous Services agent (異種サービスエージェント)です。この記事では、CData ODBC Driver for SAPSuccessFactors を使ってSAP SuccessFactors からOracle にデータベースリンクを作成する方法、およびSQL*Plus ツールを介してSAP SuccessFactors に連携してクエリする方法について説明します。SQL Developer からも、データベースリンクの作成およびクエリの実行ができます。

The DSN configuration window. (Salesforce is shown.)

CData ODBC ドライバとは?

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

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

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

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

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

Oracle ODBC Gateway 互換性のための接続プロパティ

ドライバーには複数の接続プロパティがあり、Oracle データベースと同じようにSAP SuccessFactors にアクセスできます。SQL*Plus およびSQL Developer のSAP SuccessFactors を扱う場合は、以下のプロパティを設定します。Oracle ODBC Gateway との互換性のため、認証およびその他の必要な接続プロパティに加えて、以下の接続プロパティを設定する必要があります。

  • MapToWVarchar=False

    このプロパティをSQL_WVARCHAR の代わりにSQL_VARCHAR に設定して文字列データ型をマップします。さまざまなインターナショナルキャラクタセットに対応するため、ドライバーはデフォルトでSQL_WVARCHAR を使います。unicode タイプが返されたときに、このプロパティを使ってORA-28528 Heterogeneous Services データタイプ変換エラーを防ぐことができます。

  • MaximumColumnSize=4000

    このプロパティを設定して、カラムの最大サイズを4000文字に制限します。Oracle Database Gateway では、文字列型はカラムの最大サイズが4000である必要があります。

  • UpperCaseIdentifiers=True

    このプロパティで、識別子を引用しないようにし設定します。このプロパティを使って、大文字の識別子をOracle にレポートします。Oracle はデフォルトで識別子を大文字で格納するため、大文字の識別子を引用から避ける必要はありません。

  • IncludeDualTable=True

    このプロパティを設定して、Oracle DUAL 表をモックします。SQL Developer はこのテーブルを使って接続をテストします。

Heterogeneous Service Agent の初期化

下記の手順に従ってODBC Gateway をSAP SuccessFactors のデータ に作成すると、リアルタイムSAP SuccessFactors にOracle データベースとしてクエリすることが可能になります。

  1. 接続プロパティの指定がまだの場合は、DSN (データソース名)で行います。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

    SAP SuccessFactorsへの接続

    それでは、SAP SuccessFactors に接続していきましょう。CData 製品は、デフォルトで有効になっているOData API を介してSAP SuccessFactors と通信します。追加の権限が必要な場合は、SAP サポートサイトをご確認ください。

    認証方法として、Azure AD 認証、SAP IAS 認証、OAuth 認証(推奨)、Basic 認証(非推奨)のいずれかを使用してSAP SuccessFactors に認証できます。

    必要な接続プロパティ

    選択したAuthScheme に関わらず、SAP SuccessFactors 環境を識別するために以下の接続プロパティを設定しましょう。

    • URL:SuccessFactors をホストするサーバーのURL
    • CompanyId:SAP SuccessFactors テナントに割り当てられた一意の識別子。この値はAPI 認証に必要で、組織固有のものです

    OAuth 認証

    SAP SuccessFactors では、OAuth 認証を2種類のグラント種別でサポートしています。

    • SAP SuccessFactors LMS インスタンスのクライアントグラント種別
    • SAML-2 Bearer グラント種別

    OAuth 認証を有効にするには、すべてのOAuth フローでカスタムOAuth アプリケーションを作成し、適切なプロパティを設定する必要があります。

    デスクトップアプリケーションでカスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

    OAuth アクセストークンの取得およびリフレッシュ

    以下のプロパティを設定してください。

    • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI
    • OAuthClientSecret (クライアントグラント種別のみ):アプリケーションの登録時に割り当てられたクライアントシークレット
    • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容

    接続すると、CData 製品がデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。

    アプリケーションにアクセス許可を与えると、CData 製品がOAuth プロセスを完了します。

    1. CData 製品がSAP SuccessFactors からアクセストークンを取得し、それを使ってデータをリクエストします
    2. OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます

    アクセストークンの期限が切れた際は、CData 製品が自動でアクセストークンをリフレッシュします。

    カスタムOAuth アプリケーションの作成やその他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。

    Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

  2. oracle-home-directory\hs\admin フォルダにinitmysapsuccessfactorsdb.ora ファイルを作成し、以下の設定を追加します:

    HS_FDS_CONNECT_INFO = "Your-SAPSuccessFactors-DSN"
  3. oracle-home-directory\NETWORK\admin にあるlistener.ora ファイルに、次のアドレスを追加します:

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = mysapsuccessfactorsdb)
          (ORACLE_HOME = your-oracle-home)
          (PROGRAM = dg4odbc)
        )
      )
    
  4. oracle-home-directory\NETWORK\admin にあるtnsnames.ora ファイルに、次の接続ディスクリプタを追加します:

    mysapsuccessfactorsdb  =
      (DESCRIPTION=
        (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
        (CONNECT_DATA=(SID=mysapsuccessfactorsdb))
        (HS=OK)
      )
    
  5. 次のコマンドを使って設定をテストします:

    tnsping mysapsuccessfactorsdb
  6. SQL*Plus を起動し、次のコマンドでデータベースリンクを作成します:

    CREATE DATABASE LINK MYSAPSUCCESSFACTORSDB CONNECT TO "user" IDENTIFIED BY "password" USING
    'mysapsuccessfactorsdb';

これで、SQL*Plus で次のようなクエリを実行できます:

SELECT * from ExtAddressInfo@mysapsuccessfactorsdb;

SAP SuccessFactors からOracle Database へのデータ連携には、ぜひCData ODBC ドライバをご利用ください

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

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

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

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

 ダウンロード

詳細:

SAP SuccessFactors Icon SAP SuccessFactors ODBC Driver お問い合わせ

SAP SuccessFactors ODBC Driver を使って、ODBC 接続をサポートするあらゆるアプリケーション・ツールからSAP SuccessFactors にデータ連携。

SAP SuccessFactors データにデータベースと同感覚でアクセスして、SAP SuccessFactors のBenefits、Compensation、Jobs データに使い慣れたODBC インターフェースで双方向連携。