本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →CData SQL Gateway とODBC Driver for SAPHanaXSA を使用することで、ETL を実行したりデータをキャッシュしたりすることなく、MySQL クライアントからSAP HANA XS Advanced にアクセスできます。以下のステップに従って、PHP の標準MySQL インターフェースであるmysqli とPDO_MySQL を介してSAP HANA XS Advanced データにリアルタイムで接続します。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
SAP HANA XSA uses the OAuth authentication standard. Before connecting, it is necessary to establish an SAP HANA XSA OData Service. See the OAuth section in the Help documentation for a guide.
SAP HANA XS Advanced データへの接続を、仮想MySQL データベースとして設定する方法については、「SQL Gateway Overview」を参照してください。クライアントからのMySQL リクエストをリッスンするMySQL リモートサービスを構成します。このサービスはSQL Gateway UI で設定できます。
以下の例は、オブジェクト指向インターフェースを使用してクエリを接続および実行する方法を示します。 以下のパラメータを使用して接続オブジェクトを初期化し、仮想MySQL データベースに接続します。
<?php $mysqli = new mysqli("localhost", "user", "password", "CData SAPHanaXSA Sys","3306"); ?>
<?php $pdo = new PDO('mysql:host=localhost;dbname=CData SAPHanaXSA Sys;port=3306', 'user', 'password'); ?>
接続が確立されると、テーブルにアクセスできます。以下のステップでは、例を説明します。
$result = $mysqli->query("SELECT , FROM WHERE = ''"); while($row = $result->fetch_assoc()) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $mysqli->close();
$result = $pdo->query("SELECT , FROM WHERE = ''"); while($row = $result->fetch(PDO::FETCH_ASSOC)) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $result = null; $pdo = null;