ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Google Sheets ODBC Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Google Sheets ODBC Driver 相談したいGoogle Sheets ODBC Driver は、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなGoogle スプレッドシートに直接接続できるパワフルなツールです。標準のODBC インターフェースを使用して、オンラインシートの読み、書き、更新を実行できます。
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData ODBC Driver for GoogleSheets は、ODBC 標準をサポートし、リアルタイムGoogle Sheets データとビジュアルフォームデザイナおよびDelphi の他のラピッド開発ツールとの統合を可能にします。ODBC ドライバーは、データベース開発用のシングルAPI を提供することにより、Delphi のような単一のコードベースを共有するアプリケーションのデータアクセス戦略を簡素化します。この記事では、Google Sheets に接続してシンプルなVisual Component Library (VCL) アプリケーションおよびDelphi コードからデータをクエリする方法を説明します。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてGoogle Sheets の接続を設定、2.Delphi 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからGoogleSheets ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
未指定の場合は、初めにODBC DSN (data source name) で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
以下のステップに従ってData Explorer を使用し、Google Sheets へのFireDAC 接続を作成できます。
以下のステップに従って、クエリの結果をグリッドに表示するシンプルなVCL アプリケーションからGoogle Sheets のクエリの実行を開始します。
TFDConnection コンポーネントフォームにドロップし、以下のプロパティを設定します。
TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します。
SQL:[SQL]プロパティ内のボタンをクリックし、クエリを入力します。例:
SELECT Shipcountry, SUM(OrderPrice) FROM Orders GROUP BY Shipcountry
TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します。
TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します。
TFDConnection およびTFQuery コンポーネントを使用してGoogle Sheets へのクエリを実行できます。このセクションでは、TFQuery コンポーネントを使用してクエリを実行するGoogle Sheets 固有の例を示します。
データソースに接続するには、TFDConnection コンポーネントの[Connected]プロパティをtrue に設定します。コードでも同じプロパティを設定できます。
FDConnection1.ConnectionDefName := 'mygsheets';
FDConnection1.Connected := true;
パラメータ化されたリソースはパフォーマンスを向上させることができます。ステートメントの準備は、システムリソースと時間の面でコストがかかります。ステートメントの準備中、接続がアクティブで開いている必要があるためです。FireDACはデフォルトで、同じクエリが何度もリコンパイルされないようにクエリを準備します。ステートメントの準備を無効にするには、ResourceOptions.DirectExecute を[True]に設定します。クエリを一回だけ実行する必要がある場合などに設定します。
select クエリなど、結果セットを返すクエリを実行するには、Open メソッドを使用します。Open メソッドは、クエリを実行して結果セットを返し、それを開きます。クエリが結果セットを生成しない場合、Open メソッドはエラーを返します。
FDQuery1.Open('select * from Orders where ShipCity = :ShipCity',['Madrid']);
delete のような結果セットを返さないクエリを実行するには、ExecSQL メソッドを使用します。クエリが結果セットを返す場合、ExecSQL メソッドはエラーを返します。影響を受ける行の数を取得するには、[TFD.RowsAffected]プロパティを使用します。
FDQuery1.ExecSQL('delete from Orders where Id= :myId',['x12345']);
i := FDQuery1.RowsAffected;
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。