- ODBC Drivers
- Java JDBC Drivers
- ADO.NET Providers
- SQL SSIS Components
- BizTalk Adapters
- Excel Add-Ins
- Power BI Connectors
- Tableau Connectors
- PowerShell Cmdlets
- Delphi & C++Builder
- Data Sync
- API Server
CData Connect Cloud 経由で、PHP からQuickBooks POS データにアクセス
PHP の標準MySQL ライブラリでQuickBooks POS データをクエリする方法。CData Connect Cloud を使えば、QuickBooks POS データに対し、ETL 処理やキャッシュ処理なしでもMySQL クライアントからデータ連携ができるようになります。次のステップで、QuickBooks POS の仮想MySQL データベースを作成して、mysqli toPDO_MySQL の標準MYSQL インターフェースでリアルタイムQuickBooks POS に接続します。
CData Connect Cloud は、QuickBooks POS データのクラウドto クラウドのインターフェースを仮想MySQL として提供し、PHP からRDB のようにデータをSQL でクエリすることができます。CData Connect Cloud がNode.js から発行されるSQL クエリ(フィルタリングやJOIN も可能)をパースしてQuickBooks POS に送り、PHP アプリ にQuickBooks POS からのデータを返します。インテリジェントなサーバーサイドプロセスで、多様なクエリをパフォーマンス良く利用できます。
QuickBooks POS の仮想MySQL データベースを作成
CData Connect Cloud は、直観的なPoint-and-click インターフェースでデータソースへの接続およびAPI エンドポイント作成を行います。
- Connect Cloud にログインして、Databases をクリックします。
- 利用できるデータソースアイコンから"QuickBooks POS" を選択します。
-
QuickBooks POS に接続するために必要なプロパティを入力します。
ローカルQuickBooks インスタンスに接続する場合は、接続プロパティを設定する必要はありません。
本製品 はリモートコネクタ経由でQuickBooks にリクエストを作成します。リモートコネクタはQuickBooks POS と同じマシン上で動作し、軽量の組み込みWeb サーバーを介して接続を受け入れます。サーバーはSSL/TLS をサポートし、ユーザーにリモートマシンからのセキュアな接続を可能にします。
初めて接続するときは、リモートコネクタをQuickBooks POS で認可する必要があります。詳細はヘルプドキュメントの「はじめに」を参照してください。
- Test Database をクリックします。
- Privileges -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
これで、QuickBooks POS の仮想データベースが作成でき、MySQL クライアントからの連携が可能になりました。
PHP での接続
次のサンプルのように、Object-Oriented インターフェースを使い、接続とクエリ実行を行います。 仮想MySQL に以下の接続パラメータで接続します:
- Host:サービスが稼働しているリモートホストロケーションを指定します。この場合、"myinstance.cdatacloud.net" がリモートホスト設定の値になります。
- Username:Connect Cloud で登録された権限のあるユーザー名を指定します。
- Password:ユーザーのパスワードを指定します。
- Database Name:QuickBooks POS の仮想データベース名を指定します。
- Port:3306 を指定します。
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", "qbposdb",3306,NULL,MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT); ?>
PDO
<?php $pdo = new PDO('mysql:host=myinstance.cdatacloud.net;dbname=qbposdb;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 でのクエリ
作成された接続でテーブルへのアクセスを実行します。以下がサンプルです:
- Customers テーブルをクエリします。結果は、$result オブジェクトの関連する配列に保存されます。
- PHP ページに行、カラムとして値がプリントされます。
- 接続をクローズします。
mysqli
$result = $mysqli->query("SELECT ListId, AccountLimit FROM Customers"); while($row = $result->fetch_assoc()) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $mysqli->close();
PDO
$result = $pdo->query("SELECT ListId, AccountLimit FROM Customers"); while($row = $result->fetch(PDO::FETCH_ASSOC)) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $result = null; $pdo = null;