Cloud Hub 経由でPHP からSAP SuccessFactors Data にデータ連携

PHP の標準MySQL ライブラリ経由でSAP SuccessFactors にデータ連携します。

ETL を実行したりデータをキャッシュしたりしなくても、CData Cloud Hub を使用してMySQL クライアントからSAP SuccessFactors data にアクセスできます。以下の手順に従って、SAP SuccessFactors 用の仮想MySQL データベースを作成し、PHP の標準MySQL インターフェース、mysqli 、およびPDO_MySQL 経由でリアルタイムSAP SuccessFactors data にデータ連携します。 .

CData Cloud Hub は、SAP SuccessFactors のMySQL インターフェースを提供します。ネイティブにサポートされているデータベースにデータを複製することなく、PHP でライブSAP SuccessFactors data を簡単にクエリできます。PHP でデータをクエリすると、CData Cloud Hub はサポートされているすべてのSQL 操作(フィルタ、JOIN など)を直接SAP SuccessFactors にプッシュし、サーバーサイドの処理を利用してSAP SuccessFactors data をすばやく返します。

SAP SuccessFactors Data の仮想MySQL データベースを作成

MySQL クライアントを使用してCData Cloud Hub に接続し、仮想データベースを作成することができます。

  1. Connect to the CData Cloud Hub:
    mysql --host myinstance.cdatacloud.net --user admin --password
    
  2. Once authenticated, create the virtual database for SAP SuccessFactors:
    mysql> CREATE DATABASE sapsuccessfactorsdb
        -> DRIVER = "SAPSuccessFactors",
        -> DBURL = "User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;";
    

With the virtual database created, you are ready to connect to SAP SuccessFactors data from any MySQL client.

PHPで接続

The following examples show how to use object-oriented interfaces to connect and execute queries. Initialize the connection object with the following parameters to connect to the virtual MySQL database:

  • Host:Specify the remote host location where the service is running.In this case "myinstance.cdatacloud.net" is used for the remote host setting since the service is running on the local machine.
  • Username:Specify the username for a user you authorized in the Cloud Hub.
  • Password:Specify the password for the authorized user account.
  • Database Name:Specify the name of the virtual database you created for SAP SuccessFactors.
  • Port:Specify the port the service is running on, port 3306 in this example.

mysqli

<?php
$mysqli = mysqli_init();

$mysqli->ssl_set("C:/certs/cloudclient.key",
                 "C:/certs/cloudclient.pem",
                 "C:/certs/myCA.pem",
                 NULL,NULL);

$mysqli->real_connect("mysintance.cdatacloud.net", "admin", "mypassword", "sapsuccessfactorsdb",3306,NULL,MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT);
?>

PDO

<?php
$pdo = new PDO('mysql:host=myinstance.cdatacloud.net;dbname=sapsuccessfactorsdb;port=3306;','admin', 'mypassword', array(
    PDO::MYSQL_ATTR_SSL_KEY                => 'C:/certs/cloudclient.key',
    PDO::MYSQL_ATTR_SSL_CERT               => 'C:/certs/cloudclient.pem',
    PDO::MYSQL_ATTR_SSL_CA                 => 'C:/certs/myCA.pem',
    PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false
    )
);
?>

PHPでクエリ

With the connection established, you can then access tables.The following steps walk through the example:

  1. Query the table; for example, ExtAddressInfo.The results will be stored as an associative array in the $result object.
  2. Iterate over each row and column, printing the values to display in the PHP page.
  3. Close the connection.

mysqli

$result = $mysqli->query("SELECT address1, zipCode FROM ExtAddressInfo WHERE city = 'Springfield'");
while($row = $result->fetch_assoc()) {
  foreach ($row as $k=>$v) {
    echo "$k : $v";
    echo "<br />"; 
  }
}
$mysqli->close();

PDO

$result = $pdo->query("SELECT address1, zipCode FROM ExtAddressInfo WHERE city = 'Springfield'");
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
  foreach ($row as $k=>$v) {
    echo "$k : $v";
    echo "<br />"; 
  }
}
$result = null;
$pdo = null;
 
 
ダウンロード