PowerBuilder から PostgreSQL に接続してみよう
こんにちは、サポート部のまさよしです。
テクニカルブログの投稿数がとても少ないので若干幽霊部員状態な私ですが、調べてみたら約一年ぶりの投稿。少々棚卸し気分となり、この一年で何か新しい技術や知識を習得できたのかなと振り返ったのですが、、、
閑話休題。
さて、若干古い話となりますので皆さん既にご存じかもしれませんが、PowerBuilder 2017 からサポートデータベースとして、新しく PostgreSQL が追加されました。PostgreSQL は Oracle や Microsoft SQL Server に負けず劣らず、近年、データベース人気ランキング Top 5 にランクインし長期にわたって増加を続けているようです。
私も Web プログラマ時代にコーポレートサイト構築や基幹サブシステム構築の時は大変お世話になりました。その PostgreSQL が PowerBuilder で正式にサポートされたとなれば、これは接続しない訳にはいかないですよね。
そこで今回は PowerBuilder から PostgreSQL への接続について紹介したいと思います。
2021/3/18 追記
最近、PostgreSQL へのマイグレーションに関するお問い合わせが増えています。こちらの記事も併せてご確認ください!
データベースマイグレーション !? 異なる DB へのデータ転送
PostgreSQL のインストール
事前準備として PostgreSQL をインストールします。今回は PowerBuilder からの接続がメインなので PowerBuilder がインストールされている端末 (Windows10 64bit) にインストール。詳細な手順については Web で「PostgreSQL Windows インストール」を検索すると分かりやすいサイトがヒットしますので、そちらを参照していただければと思います。
インストーラーは PostgreSQL の Web サイトからダウンロードします。PowerBuilder 2017 R3 では PostgreSQL のサポートバージョンは 10 となっていますので 10.13 をダウンロード。ダウンロードした exe を実行するとウィザードが起動します。
インストール設定は基本デフォルトのままなのでサクサク進めますが、途中で PostgreSQL の管理者となる postgres ユーザーのパスワード設定がありますので、設定したパスワードを忘れないようにメモっておいてください。
Setup 画面にメッセージ「Completing the PostgreSQL Setup Wizard」と表示されればインストールは完了です。なおコマンドプロンプト上で PostgreSQL の SQL Shell(psql.exe) を実行させたい場合 PATH を設定する必要がありますので、適宜設定してくださいね。
PostgreSQL の ODBC ドライバーインストールと ODBC 設定
PowerBuilder から PostgreSQL は ODBC 経由での接続となりますので、ODBC ドライバーのインストールと ODBC 設定が必要です。ODBC ドライバーのインストーラーは先ほどと同様に PostgreSQL の Web サイトからダウンロードします。
ここで要注意。Oracle Client や SQL Server Native Client と同様に PowerBuilder IDE からの接続、または 32bit アプリケーションから接続する場合、利用できる ODBC ドライバーも 32bit 版となります。そのため、PostgreSQL ODBC ドライバーのインストーラーも 32bit 版をダウンロードしてください。ダウンロードしたファイルを解凍後、setup.exe を実行するとインストールが開始します。 設定なく進みますので特に問題なければインストールが完了となります。なお、64bit アプリケーションとして作成する場合は 64bit 版の PostgreSQL ODBC ドライバーが必要です。
次に ODBC 設定ですが、32bit 版のドライバーを利用するので「ODBC データ ソースのセットアップ(32 ビット)」を選択。「システム DSN」タブから [追加] ボタンをクリックすると利用可能なドライバーが一覧表示されます。PostgreSQL ODBC ドライバーとしては「Ansi」「Unicode」があり、データベースの文字セットによってどちらかを選ぶようなのですが今回は「PostgreSQL Unicode」を選択して [完了] ボタンをクリック。その次の画面でデータソース名やサーバー名、接続するユーザー名・パスワードを入力して [テスト] ボタンをクリックします。
「Connection Successful」というメッセージが表示されれば正常に PostgreSQL へ接続できましたので ODBC の設定は完了です。
データベースペインタの設定
ODBC 設定が完了していれば、もう 8 割方 PowerBuilder から PostgreSQL に接続できたようなもの。総仕上げとしてデータベースペインタの設定を行いますので PowerBuilder IDE からデータベースペインタを開きましょう。
DB インタフェースで「ODB ODBC」をクリック後、プロファイルの新規作成を行います。プロファイル名や接続情報を設定して「プレビュー」タブから [接続のテスト] をクリック。無事に成功するでしょうか、、、
ありがとうございます!
これにてデータベースペインタの設定は完了です。
PB アプリからの接続確認
最後にデータウィンドウを利用して画面から PostgreSQL のテーブルを表示させましょう、、、とその前に、表示させるテーブルの作成やデータを登録しないとですね。データベースペインタからテーブル作成、データ登録をカリカリ。作成したテーブルとデータを念のため確認してみましょう、PostgreSQL の管理ツール「pgAdmin」で。
ムムッ!?
「pgAdmin」のビジュアルがここまで進化していたことに驚きながらもテーブルとデータを突合。問題ナッシング!
それではオーラス。PowerBuilder でデータウィンドウと画面を用意して Open 時に PostgreSQL への接続情報をコーディング(DB プロファイル設定の DB 接続構文をコピペ)、アプリを起動してみましょう!
予想通り無事に表示されました。ちょっと感動は薄いですが、逆に PostgreSQL を使ったアプリが淡々と作成できてしまうのが PowerBuilder の強みだとも考えられます。
まとめ
インストールやクライアント設定はデータベースによって多少違いはありますが、そこまで終わっていればデータベースペインタからのテーブル操作やデータアクセスなど、アプリを構築する上でデータベースの違いをそこまで意識することなく接続できることが確認できました。
なお、より詳しい情報に関しては Appeon Official のウェブキャストに動画(英語)も公開されていますので、是非ご視聴ください(視聴するには Appeon アカウントが必要です)。
今後、アプリの新規開発や既存アプリで使用しているデータベースの移行など、昨今の新型コロナウイルスの影響で様々な環境変化が起こることが考えられます。新機能はもちろん、データベースの選択肢も増えましたので、今まで以上に PowerBuilder を活用できるシーンが増えそうな予感です。
以上、まさよしでした。