ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Cosmos DB ODBC Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへCData
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData ODBC Driver for CosmosDB は、PHP アプリケーションからCosmos DB データへの連携を実現します。本記事では、Cosmos DB データをPHP のビルトインODBC 機能でクエリする手順を説明します。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてCosmos DB の接続を設定、2.PHP 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからCosmosDB ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
Cosmos DB に接続するDSN を作成します。
SQL API を使ってCosmos DB アカウントに接続するために必要な接続文字列を取得するには、Azure Portal にログインして「Azure Cosmos DB」を選択し、自分のアカウントを選択します。「Settings」セクションで、「Connection String」をクリックして次の値を設定します。
odbc_connect を呼び出して、Cosmos DB への接続を開きます。 odbc_pconnect メソッドでも可能です。コネクションを閉じるには、odbc_close もしくはodbc_close_all を使います。
$conn = odbc_connect("CData CosmosDB Source","user","password");
コネクションはodbc_connect で開かれ、スクリプトが終わると終了します。odbc_pconnect メソッドで開いたコネクションは、スクリプトが終わっても開いたままです。これにより同じクレデンシャルであれば他のスクリプトでコネクションを共有することが可能です:
$conn = odbc_pconnect("CData CosmosDB Source","user","password");
...
odbc_close($conn); //persistent connection must be closed explicitly
odbc_prepare を使って、Prepared ステートメントおよびパラメータライズドクエリを作成します。
$query = odbc_prepare($conn, "SELECT * FROM Customers WHERE Name = ?");
Prepared ステートメントをodbc_execute を使って実行します。
$conn = odbc_connect("CData CosmosDB Source","user","password");
$query = odbc_prepare($conn, "SELECT * FROM Customers WHERE Name = ?");
$success = odbc_execute($query, array('Morris Park Bake Shop'));
Non-Parameterized クエリは、odbc_exec を使います。
$conn = odbc_connect("CData CosmosDB Source","user","password");
$query = odbc_exec($conn, "SELECT * FROM Customers");
odbc_fetch_array ファンクションの結果セット配列としてアクセスします。
$conn = odbc_connect("CData CosmosDB Source","user","password");
$query = odbc_exec($conn, "SELECT * FROM Customers");
while($row = odbc_fetch_array($query)){
echo $row["City"] . "\n";
}
odbc_result_all ファンクションで、結果セットをHTML テーブルとして表示します。
$conn = odbc_connect("CData CosmosDB Sourcee","user","password");
$query = odbc_prepare($conn, "SELECT * FROM Customers WHERE Name = ?");
$success = odbc_execute($query, array('Morris Park Bake Shop'));
if($success)
odbc_result_all($query);
スタンドアロンのテスト環境をたちあげる簡単な方法はPHP のビルトインテストサーバーを使うことです。やっていきましょう。
PHP の最新版のバイナリのダウンロード。
フォルダにファイルを入れる。
フォルダを開く。
php.ini-development をphp.ini に変更。
ブラウザからテストスクリプトにアクセスするためのコマンドを実行。
php -S localhost:8000 -t C:\path-to-your-scripts -c C:\path-to-php\php.ini
サポートされているSQL の詳細は、ヘルプドキュメントを参照してください。上記のサンプルは、PHP のコミュニティドキュメントを参考に、Cosmos DB 向けに最適化したものです。
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。