HeidiSQL で MySQL 経由でOData のデータにアクセス
HeidiSQL は、MariaDB、MySQL、SQL Server、PostgreSQL をネイティブでサポートするオープンソースのデータベース管理ツールです。 CData ODBC Driver for OData と SQL Gateway を組み合わせることで、HeidiSQL からリアルタイムのOData データにもアクセスできるようになります。この記事では、オンプレミスの OData に接続し、HeidiSQL でOData のデータをクエリする方法を解説します。
OData データ連携について
CData は、OData サービスのライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- OData バージョン 2.0、3.0、4.0 にアクセスでき、レガシーサービスと最新の機能・性能の両方に対応できます。
- $filter、$select、$expand などの高度なクエリオプションを活用し、サードパーティツールからのデータ取得を強化できます。
- サーバーサイドでの集計とグループ化の実行により、データ転送を最小化し、パフォーマンスを向上させます。
- Azure AD、ダイジェスト、ネゴシエート、NTLM、OAuth など、さまざまなスキームを使用して安全に認証でき、すべての接続でセキュアな認証を実現します。
- SQL ストアドプロシージャを使用して、OData サービスエンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。
お客様は、Power BI、MicroStrategy、Tableau などのお気に入りのツールと OData サービスを定期的に統合し、OData サービスからデータベースやデータウェアハウスにデータをレプリケートするために CData のソリューションを使用しています。
はじめに
OData のデータへの接続設定
まだ設定していない場合は、データソース名(DSN)で必要な接続プロパティを指定します。組み込みの Microsoft ODBC データソースアドミニストレーターを使用して DSN を設定できます。これはドライバーインストールの最終ステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して DSN を作成・設定する方法については、ヘルプドキュメントの「はじめに」の章をご参照ください。
OData への接続
OData に接続するには、Url を有効なOData サービスルートURI に設定する必要があります。 OData サービスにルートドキュメントがない場合、テーブルとして公開したい特定のエンティティをFeedURL に指定してください。
OData への認証
OData は、以下を経由する認証をサポートします。
- HTTP
- Kerberos
- SharePoint Online
- OAuth
- Azure AD
HTTP 認証スキーム
HTTP で認証する場合は、次の表に従ってAuthScheme を設定します。
| Scheme | AuthScheme | その他の設定 |
| None | None | 認証を必要としない場合に使用。 |
| Basic | Basic | User、Password |
| NTLM | NTLM | User、Password |
| Digest(サポートされている場合) | Digest | User、Password |
その他の認証方法の詳細は、ヘルプドキュメントの「接続の確立」セクションを参照してください。
DSN を設定する際には、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させるのに役立ちます。
SQL Gateway の設定
SQL Gateway 概要を参照して、OData のデータを仮想 MySQL データベースとして接続できるよう設定します。クライアントからの MySQL リクエストを受け付ける MySQL リモーティングサービスを設定します。このサービスは SQL Gateway の UI で設定できます。
HeidiSQL から SQL Gateway に接続するには、Web に公開されたマシンで SQL Gateway を実行する必要があります。SQL Gateway を設定したら、以下の情報を控えておいてください:
- SQL Gateway をホストしているマシンの IP アドレスまたはドメイン名
- MySQL サービスのデータソース名(通常は CData OData Sys)
- MySQL サービスのポート番号
- サービスにアクセス権を持つ SQL Gateway ユーザーの資格情報
リモートアクセスの設定
ODBC ドライバーとリモーティングサービスがオンプレミスにインストールされている場合(HeidiSQL からアクセスできない場合)、リバース SSH トンネリング機能を使用してリモートアクセスを有効にできます。詳細な手順については、ナレッジベース記事「SQL Gateway SSH トンネリング機能」をご参照ください。
HeidiSQL でOData に接続
CData ODBC Driver for OData 用の MySQL サービスを設定したら、HeidiSQL でデータに接続する準備が整います。HeidiSQL で新しい接続セッションを作成し、MySQL ライブラリタイプを選択します。
SQL Gateway で設定したOData 用 MySQL サービスの値を使用してデータセットを設定します(データベース名には必ず DSN を使用してください)。接続を検証して「Open」をクリックします。
HeidiSQL からOData をクエリ
- 左側のデータベース一覧で、先ほど設定したOData への接続を見つけます。
- 左側のデータベース一覧で、適切な接続を展開して、OData 内の個々のテーブルやデータオブジェクトを表示します。
- これらのテーブルに対してカスタム SQL クエリを記述し、データソースを通常の SQL Server データベースのように扱います。または、関連するテーブルを選択して各テーブルデータセットを視覚的に探索できます。
CData ODBC Driver for OData と SQL Gateway を使用することで、HeidiSQL からOData のデータを簡単にクエリできます。HeidiSQL からオンプレミスのデータにアクセスする必要がある場合など、ご質問がありましたらサポートチームまでお問い合わせください。