各製品の資料を入手。
詳細はこちら →CData
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
SQL インターフェースを介してGoogle Sheets を公開する標準.NET を記述します。Active Query Builder は、開発者がSQL インターフェースを作成するのに役立ちます。CData ODBC Driver for GoogleSheets は、Google Sheets への標準ベースのアクセスを可能にします。この統合では、ODBC ドライバーとActive Query Builder オブジェクト間のブリッジとして、Microsoft ADO.NET Provider for ODBC を使用してビジュアルSQL コンポーザーを構築します。
CData ODBC ドライバは、以下のような特徴を持った製品です。
CData ODBC ドライバでは、1.データソースとしてGoogle Sheets の接続を設定、2.Active Query Builder 側で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 スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
以下のステップに従ってWinForms ビジュアルクエリビルダーを作成します。
OdbcConnection connection = new OdbcConnection();
connection.ConnectionString = "DSN=GoogleSheets"
GenericSyntaxProvider syntaxProvider = new GenericSyntaxProvider();
ODBCMetadataProvider metadataProvider = new ODBCMetadataProvider();
metadataProvider.Connection = connection;
queryBuilder1.MetadataProvider = metadataProvider;
queryBuilder1.SyntaxProvider = syntaxProvider;
queryBuilder1.InitializeDatabaseSchemaTree();
QueryBuilder を作成したら、それをTextBox に接続するか、使用する場合は、ActiveQueryBuilder SQLTextEditor に接続しますSQLTextEditor をデザイナにドラッグし、ドロップします。
private void sqlTextEditor1_Validating(object sender, CancelEventArgs e) {
try {
// Update the query builder with manually edited query text:
queryBuilder1.SQL = sqlTextEditor1.Text;
}
catch (SQLParsingException ex) {
e.Cancel = true;
// Set caret to error position
sqlTextEditor1.SelectionStart = ex.ErrorPos.pos;
// Report error
MessageBox.Show(ex.Message, "Parsing error");
}
}
private void queryBuilder1_SQLUpdated(object sender, EventArgs e) {
sqlTextEditor1.Text = queryBuilder1.FormattedSQL;
}
これで、クエリをビジュアルに作成できます。[Columns Pane Area]のテーブルをダブルクリックすると、[entity/relationship]ダイアグラムが[Query Building Area]に表示されます。ダイアグラムで選択したカラムがクエリに追加されます。