DataGrip で Google Sheets のデータ をクエリ
DataGrip は、SQL 開発者がデータベースへのクエリ、作成、管理を行えるデータベース IDE です。CData JDBC Driver for Google Spreadsheets と組み合わせることで、DataGrip からリアルタイムGoogle Sheets のデータを操作できます。この記事では、DataGrip で Google Sheets のデータ への接続を確立し、テーブルエディタを使用して Google Sheets のデータ を読み込む方法を説明します。
Google Sheets 用の新しいドライバー定義を作成
以下のステップでは、DataGrip で Google Sheets 用の新しいデータソースを作成する方法を説明します。
- DataGrip で、File -> New -> Project をクリックしてプロジェクト名を入力します。
- Database Explorer で、プラスアイコン()をクリックして Driver を選択します。
- Driver タブで以下を設定します。
- Name をわかりやすい名前に設定します(例:"CData Google Sheets Driver")。
- Driver Files を適切な JAR ファイルに設定します。ファイルを追加するには、プラス()をクリックし、「Add Files」を選択して、ドライバーのインストールディレクトリ内の「lib」フォルダに移動し、JAR ファイル(例:cdata.jdbc.googlesheets.jar)を選択します。
- Class を cdata.jdbc.googlesheets.GoogleSheets.jar に設定します。
また、詳細タブでは、ドライバーのプロパティや、VM Options、VM environment、VM home path、DBMS などの設定を変更できます。 - ほとんどの場合、Expert options で DBMS type を「Unknown」に変更して、ネイティブの SQL Server クエリ(Transact-SQL)を回避してください。これを行わないと、無効な関数エラーが発生する可能性があります。
- 「Apply」をクリックし、「OK」をクリックして接続を保存します。
Google Sheets への接続を設定
- 接続を保存したら、プラス()をクリックし、「Data Source」→「CData Google Sheets Driver」を選択して、新しい Google Sheets データソースを作成します。
- 新しいウィンドウで、JDBC URL を使用して Google Sheets への接続を設定します。
組み込みの接続文字列デザイナー
JDBC URL の構築には、Google Sheets JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.googlesheets.jar接続プロパティを入力し、接続文字列をクリップボードにコピーします。
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
- URL を接続文字列に設定します。例:
jdbc:googlesheets:Spreadsheet=MySheet;
- 「Apply」と「OK」をクリックして接続文字列を保存します。
これで、Data Explorer にデータソースが表示されます。
Google Sheets に対して SQL クエリを実行
JDBC Driver を介してアクセス可能な Google Sheets のエンティティ(テーブルとして利用可能)を参照するには、データソースを展開します。
クエリを実行するには、任意のテーブルを右クリックして「New」→「Query Console」を選択します。
Console で、実行したい SQL クエリを記述します。例:
SELECT Shipcountry, SUM(OrderPrice) FROM Orders GROUP BY Shipcountry
CData JDBC Driver for Google Spreadsheets の30日間の無料トライアルをダウンロードして、DataGrip でリアルタイムGoogle Sheets のデータを操作してみてください。ご不明な点があれば、サポートチームにお問い合わせください。