各製品の資料を入手。
詳細はこちら →こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData ODBC Driver for Box は、ODBC 標準をサポートし、リアルタイムBox データとビジュアルフォームデザイナおよびDelphi の他のラピッド開発ツールとの統合を可能にします。ODBC ドライバーは、データベース開発用のシングルAPI を提供することにより、Delphi のような単一のコードベースを共有するアプリケーションのデータアクセス戦略を簡素化します。この記事では、Box に接続してシンプルなVisual Component Library (VCL) アプリケーションおよびDelphi コードからデータをクエリする方法を説明します。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてBox の接続を設定、2.Delphi 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからBox ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
未指定の場合は、初めにODBC DSN (data source name) で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。
Box は、認証にOAuth スタンダードを使用します。Box への認証には、登録アプリのOAuthClientId、OAuthClientSecret、CallbackURL を取得して、接続プロパティに設定してください。詳細はヘルプドキュメントの「はじめに」を参照してください。
なお、Box Driver はBox のファイルの一覧表示やユーザー管理情報の取得用です。Box に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、それぞれExcel Driver、CSV Driver、JSON Driver をご利用ください。
以下のステップに従ってData Explorer を使用し、Box へのFireDAC 接続を作成できます。
以下のステップに従って、クエリの結果をグリッドに表示するシンプルなVCL アプリケーションからBox のクエリの実行を開始します。
TFDConnection コンポーネントフォームにドロップし、以下のプロパティを設定します。
TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します。
SQL:[SQL]プロパティ内のボタンをクリックし、クエリを入力します。例:
SELECT Name, Size FROM Files
TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します。
TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します。
TFDConnection およびTFQuery コンポーネントを使用してBox へのクエリを実行できます。このセクションでは、TFQuery コンポーネントを使用してクエリを実行するBox 固有の例を示します。
データソースに接続するには、TFDConnection コンポーネントの[Connected]プロパティをtrue に設定します。コードでも同じプロパティを設定できます。
FDConnection1.ConnectionDefName := 'mybox';
FDConnection1.Connected := true;
パラメータ化されたリソースはパフォーマンスを向上させることができます。ステートメントの準備は、システムリソースと時間の面でコストがかかります。ステートメントの準備中、接続がアクティブで開いている必要があるためです。FireDACはデフォルトで、同じクエリが何度もリコンパイルされないようにクエリを準備します。ステートメントの準備を無効にするには、ResourceOptions.DirectExecute を[True]に設定します。クエリを一回だけ実行する必要がある場合などに設定します。
select クエリなど、結果セットを返すクエリを実行するには、Open メソッドを使用します。Open メソッドは、クエリを実行して結果セットを返し、それを開きます。クエリが結果セットを生成しない場合、Open メソッドはエラーを返します。
FDQuery1.Open('select * from Files where Id = :Id',['123']);
delete のような結果セットを返さないクエリを実行するには、ExecSQL メソッドを使用します。クエリが結果セットを返す場合、ExecSQL メソッドはエラーを返します。影響を受ける行の数を取得するには、[TFD.RowsAffected]プロパティを使用します。
FDQuery1.ExecSQL('delete from Files where Id= :myId',['x12345']);
i := FDQuery1.RowsAffected;
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。