各製品の資料を入手。
詳細はこちら →PHP でMySQL からReckon Accounts Hosted のデータにアクセス
PHP から標準MySQL ライブラリを介してReckon Accounts Hosted に接続。
最終更新日:2022-07-18
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData SQL Gateway とODBC Driver for ReckonAccountsHosted を使用することで、ETL を実行したりデータをキャッシュしたりすることなく、MySQL クライアントからReckon Accounts Hosted にアクセスできます。以下のステップに従って、PHP の標準MySQL インターフェースであるmysqli とPDO_MySQL を介してReckon Accounts Hosted のデータにリアルタイムで接続します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Reckon Accounts Hosted をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにReckon Accounts Hosted のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてReckon Accounts Hosted の接続を設定、2.MySQL 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとReckon Accounts Hosted への接続設定
まずは、本記事右側のサイドバーからReckonAccountsHosted ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
CData 製品 はOAuth 経由でReckon Accounts Hosted にリクエストを作成します。次の接続プロパティを指定します。
- User: 必須。企業ファイルのユーザー名。
- Password: 必須。企業ファイルのパスワード。
- CompanyFile: 必須。企業ファイルへのパス。
- InitiateOAuth:アクセストークンの処理をドライバーに任せる場合はGETANDREFRESH に設定。
- CountryVersion:デフォルトは、2021.R2.AU です。
カスタムOAuth アプリケーションを作成し、以下の追加の接続プロパティを指定することもできます。
- SubscriptionKey:Azure Platform 上のReckon Portal から取得したAPI キー。
- OAuthClientId:アプリケーション設定のクライアントID に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- CallbackURL:カスタムOAuth アプリのリダイレクトURI。
CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。ほかのOAuth 認証方法(Web、ヘッドレスなど)、カスタムOAuth アプリケーションの作成、その理由などについては、ヘルプドキュメントを参照してください。
SQL Gateway を構成する
Reckon Accounts Hosted のデータへの接続を、仮想MySQL データベースとして設定する方法については、「SQL Gateway Overview」を参照してください。クライアントからのMySQL リクエストをリッスンするMySQL リモートサービスを構成します。このサービスはSQL Gateway UI で設定できます。
PHP から接続する
以下の例は、オブジェクト指向インターフェースを使用してクエリを接続および実行する方法を示します。 以下のパラメータを使用して接続オブジェクトを初期化し、仮想MySQL データベースに接続します。
- Host:サービスが実行されているリモートホストの場所を指定します。この例では、サービスがローカルマシンで実行されているため、"localhost" をリモートホスト設定に使用します。
- Username:SQL Gateway の「ユーザー」タブで認証したユーザーのユーザー名を指定します。
- Password:認証されたユーザーアカウントのパスワードを指定します。
- Database Name:データベース名としてシステムDSN を指定します。
- Port:サービスが実行されているポートを指定します。この例では3306 を指定します。
mysqli
<?php $mysqli = new mysqli("localhost", "user", "password", "CData ReckonAccountsHosted Sys","3306"); ?>
PDO
<?php $pdo = new PDO('mysql:host=localhost;dbname=CData ReckonAccountsHosted Sys;port=3306', 'user', 'password'); ?>
PHP からクエリする
接続が確立されると、テーブルにアクセスできます。以下のステップでは、例を説明します。
- テーブル(Accounts)をクエリします。結果は、連想配列として$result オブジェクトに保存されます。
- 各行とカラムを順番に処理して、値を出力してPHP ページに表示することができます。
- 接続を閉じます。
mysqli
$result = $mysqli->query("SELECT Name, Balance FROM Accounts WHERE IsActive = 'true'"); while($row = $result->fetch_assoc()) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $mysqli->close();
PDO
$result = $pdo->query("SELECT Name, Balance FROM Accounts WHERE IsActive = 'true'"); while($row = $result->fetch(PDO::FETCH_ASSOC)) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $result = null; $pdo = null;
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。