製品をチェック

SAP SuccessFactors ODBC Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

SAP SuccessFactors アイコン SAP SuccessFactors ODBC Driver 相談したい

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

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

Linux 上でSAP SuccessFactors データに接続するGo アプリケーションを作成する方法

CData ODBC Driver とunixODBC を使って、SAP SuccessFactors に連携するGo アプリケーションを作成。

古川えりか
コンテンツスペシャリスト

最終更新日:2023-09-07
sapsuccessfactors ロゴ

CData

odbc ロゴ画像
Go ロゴ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

Go はオープンソースのプログラミング言語で、高速かつ信頼性の高いソフトウェアを低コストで作成できるのが魅力です。Go とODBC Driver for SAPSuccessFactors およびunixODBC を組み合わせて使うことで、SAP SuccessFactors データにリアルタイムで 接続するアプリケーションを作成できます。本記事では、ODBC Driver for SAPSuccessFactors のインストール、unixODBC Driver Manager への設定、そしてSAP SuccessFactors に連携するGo アプリケーションの作成までを説明します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持った製品です。

  1. SAP SuccessFactors をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
  2. Go をはじめとする多様な開発ツールやノーコードアプリ、BI ツールにSAP SuccessFactors データを連携
  3. ノーコードでの手軽な接続設定

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

Linux マシンで CData ODBC Drivers を使用する

CData ODBC Drivers はUbuntu、Debian、RHEL、CentOS、およびFedora など多くのRed Hat ベースおよびDebian ベースのシステムでサポートされています。 ほかにもいくつかのライブラリやパッケージのインストールが必要ですが、すでにデフォルトでインストールされている場合もあります。詳細はオンラインおよびインストールされるヘルプドキュメントの「はじめに」のセクションを参照してください。

Driver Manager のインストール

ドライバーのインストール前にシステムにDriver Manager が入っているかを確認してください。本記事では無料のオープンソースDriver Manager であるunixODBC を使います

Ubuntu のようなDebian ベースのシステムでは、APT パッケージマネージャからunixODBC をインストールできます:

$ apt-get install unixODBC unixODBC-dev

Red Hat Linux ベースのシステムでは、yum もしくはdnf からunixODBC をインストールできます:

$ yum install unixODBC unixODBC-devel

unixODBC Driver Manager はDriver の情報をodbcinst.ini ファイルから読み、odbc.ini からデータソースの情報を読みます。 次のコマンドをターミナルに入力して、設定ファイルの配置場所を決めることができます:

$ odbcinst -j

コマンドのアウトプットでODBC データソースのコンフィギュレーションファイルと登録されたODBC Drver のロケーションを表示します。 ユーザーデータソースはodbc.ini ホームフォルダが位置するユーザーアカウントのみからアクセス可能です。システムデータソースはすべてのユーザーからアクセスできます。 このコマンドのアウトプット例は以下です:

DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/myuser/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8

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

パッケージ形式でドライバーをダウンロードできます。.deb 形式もしくは、.rpm 形式で提供しています。 ファイルをダウンロードしたら、ターミナルからドライバーをインストールします。

ドライバーインストーラーはドライバーをunixODBC に登録し、ODBC 接続をサポートするツールやアプリケーションから利用できるシステムDSN を作成します。T

Ubuntu のようなDebian ベースのシステムでは、sudo で次のコマンドを実行します: $ dpkg -i /path/to/package.deb

.rpms をサポートするシステムでは、sudo で次のコマンドを実行します: $ rpm -i /path/to/package.rpm

ドライバーのインストールが終わったら、unixODBC Driver Manager を使って登録されたドライバーを表示し、データソースを定義することができます。

登録されたドライバーの表示

$ odbcinst -q -d CData ODBC Driver for SAPSuccessFactors ...

定義されたData Source の表示

$ odbcinst -q -s CData SAPSuccessFactors Source ...

unixODBC でCData ODBC Driver for SAPSuccessFactors を使用するには、ドライバーがUTF-8 を使用するように設定する必要があります。それには、通常はインストールフォルダのlib フォルダ(/opt/cdata/cdata-odbc-driver-for-sapsuccessfactors)に入っているドライバーのINI ファイル(cdata.odbc.sapsuccessfactors.ini)を次のように編集する必要があります:

cdata.odbc.sapsuccessfactors.ini

... [Driver] DriverManagerEncoding = UTF-16

DSN の変更

ドライバーがインストールされると、システムDSN が事前定義されます。システムDSN はシステムデータソースファイル(/etc/odbc.ini)を編集して必要な接続プロパティを定義します。 ユーザー単位のDSN を作成することも可能で、その際には$HOME/.odbc.ini へのアクセスと変更は必要ありません

Basic 認証またはOAuth with SAML アサーションを使用して、SAP SuccessFactors に認証できます。

Basic 認証

SAP SuccessFactors に正常に認証するには、次のプロパティの値を指定する必要があります。プロバイダーは、Cookie を使用してSAP SuccessFactors によって開かれたセッションを再利用することに注意してください。つまり、セッションを開く最初のリクエストでのみクレデンシャルが使用されます。その後、SAP SuccessFactors から返されたCookie が認証に使用されます。

  • Url: Success Factors をホストするサーバーのURL に設定。一部のサーバーがリストされています。SAP support documentation(外部リンク)。
  • User: アカウントのユーザー名に設定。
  • Password: アカウントのパスワードに設定。
  • CompanyId: 会社の一意の識別子に設定。

OAuth 認証

アクセストークンを取得するために使用される、次のプロパティの値を指定する必要があります。

  • Url: Success Factors をホストするサーバーのURL に設定。一部のサーバーがリストされています。SAP support documentation(外部リンク)。
  • User: アカウントのユーザー名に設定。
  • CompanyId: 会社の一意の識別子に設定。
  • OAuthClientId: API Center で生成されたAPI Key に設定。
  • OAuthClientSecret: SAML アサーションの署名に使用されるX.509 プライベートキー。プライベートキーは、「Registering your OAuth Client Application」でダウンロードした証明書に記載されています。
  • InitiateOAuth: GETANDREFRESH に設定。

/etc/odbc.ini or $HOME/.odbc.ini

[CData SAPSuccessFactors Source] Driver = CData ODBC Driver for SAPSuccessFactors Description = My Description User = username Password = password CompanyId = CompanyId Url = https://api4.successfactors.com

これらのコンフィギュレーションファイルの使い方についての詳細は、インストールされるヘルプドキュメントを参照してください。

SAP SuccessFactors データに連携するGo アプリケーションサンプルの作成

Driver Manager のインストール、DSN 設定を終えたら、SAP SuccessFactors データ に連携するGo アプリケーションを作成します。 まずはODBC データベース向けのGo ドライバーをインストールします。いくつかのオプションがありますが、本記事ではhttps://github.com/alexbrainman/odbc のODBC ドライバーを使います。

Linux へのODBC のインストール

Go のODBC ドライバーをインストールするには、GOPATH 環境変数を定義する必要があります:

export GOPATH=$HOME/golang/go

GOPATH が定義されたら、ODBC ドライバー向けのGo ドライバーをインストールすることが可能です:

$ go get github.com/alexbrainman/odbc

これでGo アプリケーションを作って実行する準備ができました。

Go アプリケーションサンプル

このサンプルアプリケーションはSAP SuccessFactors データ に対してシンプルなSQL SELECT クエリを発行し、結果を表示します。$GOPATH/src/cdata-odbc-sapsuccessfactors ディレクトリを作成し、次のソースコードをコピーして新しいGo ファイルを作成します。

cdata-odbc-sapsuccessfactors.go

package main import ( _ "github.com/alexbrainman/odbc" "database/sql" "log" "fmt" ) func main() { db, err := sql.Open("odbc", "DSN=CData SAPSuccessFactors Source") if err != nil { log.Fatal(err) } var ( address1 string zipcode string ) rows, err := db.Query("SELECT address1, zipCode FROM ExtAddressInfo WHERE city = ?", "Springfield") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { err := rows.Scan(&address1, &zipcode) if err != nil { log.Fatal(err) } fmt.Println(address1, zipcode) } err = rows.Err() if err != nil { log.Fatal(err) } defer db.Close() }

ターミナルでGo アプリケーションディレクトリに移動して、アプリケーションをビルドします。

$ go build

アプリケーションのビルド後、アプリケーションを実行してSAP SuccessFactors のデータを表示することができます。

$ ./cdata-odbc-sapsuccessfactors

おわりに

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

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

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。