PowerBuilder から Google Spread Sheet に接続してみよう

Googleスプレッドシート

こんにちは、サポート部の明石です。

以前のブログで PowerBuilder から WebAPI を利用して Google スプレッドシートに接続する方法について紹介しました。WebAPI 使って Google スプレッドシートを操作する日が来るなんて…感慨深いものがありますよね。「新機能っていいな」と改めて思う今日この頃、ぜひこの機会に Appeon PowerBuilder へマイグレーションをしてさまざまな新機能を利用してみてください。

さて Google Sheets API を利用することで Google スプレッドシートが操作できるようになったことは確認できたかと思いますが、ブログを書きながらシート内のデータをもっともーっと簡単に操作できないものか、そう DataWindow を使ってもっと簡単に、という疑問がわいていました、、、

ん ? そういえば、記事を紹介したときにツイッターに有益な情報をいただいていたような。

こちらの製品を使うとどんな結果が得られるのでしょうか ?

と、言うわけで今回は CData 様の CData Driver をお借りして Google スプレッドシートを操作してみたいと思います。


ODBC Driver のインストールと ODBC 設定

まず事前準備として Google Sheets ODBC Driver をインストールします。

CData 様のページに Trial のドライバーが用意されているのでさっそくダウンロードしてインストールしてみます。

※ PowerBuilder 同様、30 日間お試しできるようですよ ♪

私が Trial をインストールした限りではインストール自体に特別難しい設定はなく、セットアップウィザードにしたがってボタンをクリックしインストールができました。インストールが完了すると DSN 構成の画面が表示されましたがこのタイミングでは特に設定をせずに [キャンセル] ボタンで画面をクローズしました。

セットアップ

セットアップ画面

インストール完了

インストール完了

続いて ODBC を設定します。まさよしさんが PostgreSQL の ODBC 設定ブログで丁寧に説明をされていましたが、 PowerBuilder IDE や 32bit アプリケーションから接続する場合、利用する ODBC ドライバーは 32bit となります。今回は PowerBuilder IDE を利用して確認を行うため、設定する ODBC も「ODBC データ ソースのセットアップ (32 ビット)」を選択します。「システム DSN」タブで [追加] ボタンをクリックするとデータ ソースの新規作成画面が表示されるので、今回は「CData ODBC Driver for Google Sheets」を選択して [完了] ボタンをクリックします。

次に「CData ODBC Driver for Google Sheets」の DSN 構成画面に遷移しますので任意の①「データソース 名」を入力して② [接続のテスト] ボタンをクリックします。

DSN構成構成

DSN構成

すると Google アカウントの選択画面に遷移しますので、利用したいアカウントを選択します。また Google アカウントへのアクセス許可が求められるので、問題がなければ [許可] ボタンをクリックします。

Google アカウントの選択
アカウントアクセス

接続に成功すると「Google Authorization Successful !」が表示され DSN 構成画面でも「接続テストに成功しました。」メッセージが表示されます。

接続成功

接続成功!

なお、DSN 構成にはたくさんの接続プロパティが用意されていますので本番利用前には必ずドキュメントを確認してください (私もすべては詳しく理解できていませんw) 。


データベースペインタの設定

次に PowerBuilder IDE から DB プロファイルの設定を行います。

DB インタフェースで「ODB ODBC」をクリック後、プロファイルの新規作成を行います。プロファイル名とデータ ソースを設定して「プレビュー」タブから [接続のテスト] をクリック。無事に成功するでしょうか、、、

ここまでの流れは完全に PostgreSQL の ODBC 設定ブログの流れと同じですね。と、言うことは、、、(ありがとうございます! 準備中)

カタログテーブルエラー

デデーン、出ましたカタログ テーブルエラー。なぜこのエラーが表示されるかはカタログテーブルについてエイタさんが丁寧に紹介していましたよね。冷静に考えてみると当然ながら、今回はカタログ テーブルの作成は行えない ( Create Table 文がなく Google スプレッドシートを作成するにはプロシージャを使用する必要がある ) のでこのエラーは無視しましょう。[OK] ボタンを押下すると [接続に成功] のメッセージが表示されます。

次に [DB ぺインタ] に移動してテーブルを見てみましょう。

今回は、事前にサンプルの Google スプレッドシートを 1 つ Google ドライブのマイドライブ上に用意しておきました。すると、、、

サンプルスプレッドシート

なんということでしょう。Google スプレッドシートがテーブルとして PowerBuilder IDE 上に表示されているではありませんか。


PB アプリからの接続確認

最後に DataWindow を利用して PowerBuilder アプリケーションから Google スプレッドシートの内容を表示させてみましょう、、、とその前に、表示させるテーブル ( Google スプレッドシート) の作成やデータを登録しないとですね。Google へ移動して Google スプレッドシートを作成、データ登録をカリカリ。たとえば下記のような Google スプレッドシートを作成します。

更新前 Google スプレッドシート

それでは、PowerBuilder で DataWindow と画面を用意して Open 時に ODBC への接続情報をコーディング (DB プロファイル設定の DB 接続構文をコピペ)、アプリを起動してみましょう !

DataWindow

DataWindow

PowerBuilder アプリケーション実行時

PowerBuilder アプリケーション実行時

無事にデータが表示されることが確認できました。Google Sheets ODBC Driver を利用することで簡単に Google スプレッドシートのデータが DataWindow に表示されるのが確認できたかと思います。

次にたとえば、この画面上に [更新] ボタンが用意されているのが確認できるかと思います。DataWindow の更新特性を設定した上で [更新] ボタン内のスクリプトは “Update” メソッドを利用してデータを更新する内容になっています。

金額データを “1111” から “11111” へ変更して、 [更新] ボタンをクリックします。

データ更新

データ更新

更新後 Google スプレッドシート

うん、Google スプレッドシートへの更新も確認できました。

使用感としては DSN 構成での接続プロパティさえ間違えなければあとは一般的な DBMS の利用時と大きく変わらず、簡単に利用することが可能だと感じられました。


最後に

今回は CData 様の ODBC Driver をお借りすることで Google スプレッドシートをテーブルのように扱い簡単に操作できるのが確認いただけたかと思います。

CData 様では、この他にもさまざまな ODBC Driver を提供されているようなので用途に合わせて利用することで複雑なプログラムを書くことなく便利に利用することができるのではないかと思います。興味のある方は併せて確認してみてください。

以上、明石でした。

テクニカルブログ 一覧を見る
PowerBuilder マイグレーション