各製品の資料を入手。
詳細はこちら →こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData SQL Gateway とODBC Driver for OData を使用することで、ETL を実行したりデータをキャッシュしたりすることなく、MySQL クライアントからOData にアクセスできます。以下のステップに従って、PHP の標準MySQL インターフェースであるmysqli とPDO_MySQL を介してOData のデータにリアルタイムで接続します。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてOData の接続を設定、2.MySQL 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからOData ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
OData に接続するには、Url を有効なOData サービスルートURI に設定する必要があります。 OData サービスにルートドキュメントがない場合、テーブルとして公開したい特定のエンティティをFeedURL に指定してください。
OData は、以下を経由する認証をサポートします。
HTTP で認証する場合は、次の表に従ってAuthScheme を設定します。
Scheme | AuthScheme | その他の設定 |
None | None | 認証を必要としない場合に使用。 |
Basic | Basic | User、Password |
NTLM | NTLM | User、Password |
Digest(サポートされている場合) | Digest | User、Password |
その他の認証方法の詳細は、ヘルプドキュメントの「接続の確立」セクションを参照してください。
OData のデータへの接続を、仮想MySQL データベースとして設定する方法については、「SQL Gateway Overview」を参照してください。クライアントからのMySQL リクエストをリッスンするMySQL リモートサービスを構成します。このサービスはSQL Gateway UI で設定できます。
以下の例は、オブジェクト指向インターフェースを使用してクエリを接続および実行する方法を示します。 以下のパラメータを使用して接続オブジェクトを初期化し、仮想MySQL データベースに接続します。
<?php $mysqli = new mysqli("localhost", "user", "password", "CData OData Sys","3306"); ?>
<?php $pdo = new PDO('mysql:host=localhost;dbname=CData OData Sys;port=3306', 'user', 'password'); ?>
接続が確立されると、テーブルにアクセスできます。以下のステップでは、例を説明します。
$result = $mysqli->query("SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId"); while($row = $result->fetch_assoc()) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $mysqli->close();
$result = $pdo->query("SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId"); 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 の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。