こんにちは。CData Software Japanリードエンジニアの杉本です。
以前、クラウドストレージサービス BoxにアップされているExcel ファイルを CData Excel Driverで読み取る方法を紹介したことがありました。
www.cdatablog.jp
最近「Google Driveでも同じことはできないの?」というご相談を頂きましたので、Google Drive版を紹介したいと思います。
www.cdata.com
なお、前回はODBC Driverを使用して、Power BI から接続しましたが、今回はJDBC Driverを使ってDbVisualizer から接続します。でも、基本的な動作はJDBC・ODBC・ADO.NET等すべてのテクノロジーで共通です。
必要なもの
対象のファイル
今回の対象のファイルは以下のExcelファイル「test.xlsx」です。
Google Driverのマイドライブ直下に「ExcelTest」というフォルダを作って、配置しました。
なお、Google Driveであれば、Spreadsheetを使うシチュエーションも多いと思います。もし Spreadsheetを読み取りたい場合は、以下のGoogle Sheets Driverを使ってみてください。
https://www.cdata.com/jp/drivers/gsheets/
CData Excel JDBC Driverのインストール
次に今回必要となる CData Excel JDBC Driverをインストール します。
以下のURLから評価版をダウンロードしてください。
https://www.cdata.com/jp/drivers/excel/jdbc/
ダウンロード後「setup.jar」ファイルを実行して、マシンへのインストールを進めます。
インストール後、接続設定を行います。
CData JDBC Driverでは、実行用のファイルである「cdata.jdbc.execel.jar」ファイルを使うことで、接続テストを実施できます。
以下のフォルダに移動して、コマンドプロンプトを立ち上げて
cd C:\Program Files\CData\CData JDBC Driver for Excel 2020J\lib
javaで対象ファイルを立ち上げます。
java -jar cdata.jdbc.excel.jar
すると、以下のような接続テストツールが立ち上がりますので、ここで接続確認を行います。
必要な接続文字列は以下のようになります。
jdbc:excel:AuthScheme="OAuth";URI="gdrive://Excel/text.xlsx";InitiateOAuth="GETANDREFRESH";
プロパティ名 |
値 |
備考 |
AuthScheme |
OAuth |
Google DriverではOAuthによる接続を利用するので、OAuthを指定します。 |
URI |
gdrive://Excel/text.xlsx |
対象のExcelファイルのパスを指定します。Google Drive用のパスである「gdrive://」に続いて、ファイルパスを入力してください。 |
InitiateOAuth |
GETANDREFRESH |
OAuth接続時にCData Driver本体がAccessToken取得処理を実施するようにGETANDREFRESHを指定します。 |
必要な接続文字列を入力した状態で「接続テスト」をクリックすることで、ブラウザが立ち上がり、認証プロセスが開始されます。
まず任意のアカウントでログインを行います。
使用中のビルドによっては、以下のようなメッセージが表示される場合があります。その場合は以下のリンクをクリックしてください。
あとは、アクセス許可を確認して、「許可」をクリックします。
「接続テストに成功しました」というメッセージが表示されればOKです。
接続文字列は後で利用するので、控えておきましょう。
DbVizualizerから接続してみる
それでは、DbVisualizerから対象のExcelファイルに接続してみましょう。
まずDbVisualizerを立ち上げて、CData Excel JDBC Driverに接続できるように、jarファイルを登録します。
「Tools」→「Driver Mamanger」に移動し
新しくDriver Settingsを作成して、任意の名称を指定の上、Driver Jar ファイル「C:\Program Files\CData\CData JDBC Driver for Excel 2020J\lib\cdata.jdbc.excel.jar(バージョンによってフォルダパスが異なるので注意)」を登録します。
あとは、新しくDatabase Connectionを作成し、先程接続テストを行った接続文字列をDataBase URLに貼り付ければ準備は完了です。
Table一覧にシート名が表示され、無事Google Drive上のExcelファイルのデータを読み取ることができました。
おわりに
今回の記事ではGoogle DriveのExcelファイルに接続する方法を紹介しましたが、Excel Driverは他のクラウドストレージサービスやHTTP・FTP上のファイルも読み取ることが可能です。
cdn.cdata.com
- HTTP またはHTTPS
- Amazon S3
- Azure Blob Storage
- Azure Data Lake Store Gen1
- Azure Data Lake Store Gen2
- Azure Data Lake Store Gen2 with SSL
- Google Drive
- OneDrive
- Box
- Dropbox
- SharePoint Online SOAP
- SharePoint Online REST
- FTP またはFTPS
- SFTP
- Wasabi
- Google Cloud Storage
- Oracle Cloud Storage
もし接続でわからない点があれば、お気軽にテクニカルサポートまで問い合わせしてみてください。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ