REST のデータ 用のシンプルな VCL アプリケーションを構築
Embarcadero RAD Studio は、Delphi および C++Builder アプリケーション用の開発環境を提供します。CData ODBC Driver for REST を使用すると、RAD Studio 内からリアルタイムREST のデータにアクセスでき、データをテーブル、ビュー、ストアドプロシージャとして抽象化してREST のデータの取得および更新が可能です。この記事では、REST に接続し、フォームデザイナを使用してシンプルな VCL アプリケーションを作成する方法を説明します。
REST のデータ への接続を作成
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。
データソースへの認証については、データプロバイダーのヘルプドキュメントの「はじめに」を参照してください: データプロバイダーはREST API を双方向データベーステーブルとして、XML/JSON ファイル(ローカルファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)を読み取り専用のビューとしてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。認証についての詳細は、ヘルプドキュメントの「はじめに」を参照してください。
URI を設定し、認証値を指定したら、Format を"XML" または"JSON" に設定して、データ表現をデータ構造により厳密に一致させるようにDataModel を設定します。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、以下の基本的な設定を切り替えます。
- Document (デフォルト):REST データのトップレベルのドキュメントビューをモデル化します。データプロバイダーはネストされたエレメントをデータの集計として返します。
- FlattenedDocuments:ネストされたドキュメントとその親を単一テーブルとして暗黙的に結合します。
- Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれます。
リレーショナル表現の構成について詳しくは、「REST データのモデル化」を参照してください。次の例で使用されているサンプルデータもあります。データには、人、所有している車、およびそれらの車で行われたさまざまなメンテナンスサービスのエントリが含まれています。The data includes entries for people, the cars they own, and various maintenance services performed on those cars.
次に、以下の手順で Data Explorer を使用してREST のデータへの FireDAC 接続を作成します。
- 新しい VCL フォームアプリケーションで、Data Explorer の FireDAC ノードを展開します。
- Data Explorer で ODBC Data Source ノードを右クリックします。
- [新しい接続の追加] をクリックします。
- 接続の名前を入力します。
- 表示される FireDAC Connection Editor で、DataSource プロパティに REST 用 ODBC DSN の名前を設定します。
REST のデータ に接続する VCL アプリケーションを作成
以下の手順に従って、クエリ結果をグリッドに表示するシンプルな VCL アプリケーションからREST のデータへのクエリ実行を開始します。
-
TFDConnection コンポーネントをフォームにドロップし、以下のプロパティを設定します。
- ConnectionDefName:REST のデータへの FireDAC 接続を選択します。
- Connected: メニューから True を選択し、表示されるダイアログで資格情報を入力します。
-
TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します。
- Connection: まだ指定されていない場合は、このプロパティを TFDConnection コンポーネントに設定します。
SQL: SQL プロパティのボタンをクリックしてクエリを入力します。例:
SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender, [people].[personal.name.first] AS first_name, [people].[personal.name.last] AS last_name, [vehicles].[model], FROM [people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]- Active: このプロパティを true に設定します。
TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します。
- DataSet: このプロパティのメニューで、TFDQuery コンポーネントの名前を選択します。
-
TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します。
- DataSource: TDataSource の名前を選択します。
- TFDGUIxWaitCursor をフォームにドロップします。これはランタイムエラーを回避するために必要です。
これで、TFDQuery オブジェクトに設定された SQL クエリの結果を表示する実行可能なアプリケーションが完成しました。
関連記事
RAD Studio、Delphi、C++ Builder で CData ODBC ドライバを使用するその他の記事は以下をご覧ください。