![]() |
VOOZH | about |
You can use the CData SQL Gateway and ODBC Driver for Cosmos DB to access Cosmos DB data from MySQL clients, without needing to perform an ETL or cache data. Follow the steps below to connect to Cosmos DB data in real time through PHP's standard MySQL interfaces, mysqli and PDO_MySQL.
If you have not already done so, provide values for the required connection properties in the data source name (DSN). You can use the built-in Microsoft ODBC Data Source Administrator to configure the DSN. This is also the last step of the driver installation. See the "Getting Started" chapter in the help documentation for a guide to using the Microsoft ODBC Data Source Administrator to create and configure a DSN.
To obtain the connection string needed to connect to a Cosmos DB account using the SQL API, log in to the Azure Portal, select Azure Cosmos DB, and select your account. In the Settings section, click Connection String and set the following values:
See the SQL Gateway Overview to set up connectivity to Cosmos DB data as a virtual MySQL database. You will configure a MySQL remoting service that listens for MySQL requests from clients. The service can be configured in the SQL Gateway UI.
👁 Creating a MySQL Remoting Service in SQL Gateway (Salesforce is shown)
The following examples show how to use object-oriented interfaces to connect and execute queries. Initialize the connection object with the following parameters to connect to the virtual MySQL database:
<?php
$mysqli = new mysqli("localhost", "user", "password", "CData CosmosDB Sys","3306");
?>
<?php
$pdo = new PDO('mysql:host=localhost;dbname=CData CosmosDB Sys;port=3306', 'user', 'password');
?>
With the connection established, you can then access tables. The following steps walk through the example:
$result = $mysqli->query("SELECT City, CompanyName FROM Customers");
while($row = $result->fetch_assoc()) {
foreach ($row as $k=>$v) {
echo "$k : $v";
echo "<br>";
}
}
$mysqli->close();
$result = $pdo->query("SELECT City, CompanyName FROM Customers");
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
foreach ($row as $k=>$v) {
echo "$k : $v";
echo "<br>";
}
}
$result = null;
$pdo = null;
Download a free trial of the Cosmos DB ODBC Driver to get started:
Download NowLearn more:
👁 Cosmos DB IconThe Cosmos DB ODBC Driver is a powerful tool that allows you to connect with live Cosmos DB document databases, directly from any applications that support ODBC connectivity.
Access Cosmos DB like you would a database - read, write, and update through a standard ODBC Driver interface.