MySQL Workbench でJSON データをクエリ

MySQL Workbench からリアルタイムJSON データにMySQL クエリを実行します。

古川えりか
コンテンツスペシャリスト

最終更新日:2019-06-10
json ロゴ

CData

odbc ロゴ画像
MySQL ロゴ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

ODBC Driver for JSON からSQL Gateway を使用し、MySQL インターフェースを介してJSON にクエリを実行できます。以下のステップに従って、SQL Gateway のMySQL リモーティングサービスを開始し、MySQL Workbench でリアルタイムJSON を操作します。

CData ODBC Drivers とは?

CData ODBC Drivers は、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. JSON をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにJSON データを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC Driver では、1.データソースとしてJSON の接続を設定、2.MySQL Workbench 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC Drivers のインストールとJSON への接続設定

まずは、本記事右側のサイドバーからJSON ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

未指定の場合は、データソース名(DSN)で必要な接続プロパティの値を指定します。DSN を構成するために、ビルトインのMicrosoft ODBC Data Source Administrator を使用できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターでDSN を作成及び設定する方法については、ヘルプドキュメントの[はじめに]チャプターを参照してください。

データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

  • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。本製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
  • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
  • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

Amazon S3 内のJSON への接続

URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。

  • AWSAccessKey:AWS アクセスキー(username)に設定。
  • AWSSecretKey:AWS シークレットキーに設定。

Box 内のJSON への接続

URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

Dropbox 内のJSON への接続

URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;

SharePoint Online SOAP 内のJSON への接続

URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

SharePoint Online REST 内のJSON への接続

URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

FTP 内のJSON への接続

URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

Google Drive 内のJSON への接続

デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

SQL Gateway を構成する

JSON への接続を仮想MySQL データベースとして設定するには、SQL Gateway Overview を参照してください。クライアントからのMySQL 要求を受けるMySQL リモートサービスを構成します。このサービスは、SQL Gateway UI で構成できます。

Creating a MySQL Remoting Service in SQL Gateway (Salesforce is shown)

MySQL Workbench からJSON をクエリ

以下のステップでは、MySQL Workbench からSQL Gateway で作成された仮想JSON データベースに接続し、リアルタイムJSON データを操作するための基本的なクエリを発行する方法を説明します。

SQL Gateway を介してJSON に接続

  1. MySQL Workbench で、[add a new MySQL connection]をクリックします。
  2. 接続(CData SQL Gateway for JSON)に名前を付けます。
  3. HostnamePortUsername のパラメータを設定し、SQL Gateway に接続します。
  4. Store in Vault をクリックしてパスワードを設定し、保存します。
  5. Test Connection をクリックして接続が正しく構成されていることを確認し、OK をクリックします。

JSON データをクエリ

  1. 作成した接続(CData SQL Gateway for JSON)を開きます。
  2. [File]->[New Query Tab]と進みます。
  3. SELECT * FROM `CData JSON Sys`.people; のようなJSON データを取得するSQL クエリを記述します。

JSON からMySQL Workbench へのデータ連携には、ぜひCData ODBC Driver をご利用ください

MySQL Workbench からリアルタイムJSON データにアクセスすることで、MySQL データベースと同じようにJSON をクエリおよび更新できます。CData ODBC Driver for JSON とCData SQL Gateway の30日の無償評価版はこちらです。

CData ODBC Driver は日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。