こないだまで脱、ネ申Excelであれこれやっていたのが、とうとう職場内にPostgreSQLサーバーを立てることになりました。いくら世間から取り残されがちなこの業界でも将来の報酬改定に対応していくには、このくらいの下準備は必要になりそうです。と言っても、そんな大層なものでなく、Windows10終了で廃用になったノートPCを転用してイントラ運用を細々とやるくらいですが。
そんな中、DBのデータ編集に専用ツールがあればと、またもやプロデルの出番となりました。定番のsshトンネルを貼っての接続ですが、こんな感じで作ってみました。
公式のOBDCドライバをインストール、それとPuTTY付属のPlink.exeを入手して、トンネルを貼るバッチファイルを書きます。
plink.exe -ssh testuser@192.168.0.27 -pw ******** -L 63333:127.0.0.1:5432 -N -batch
-pw ********の部分はtestuserユーザーのパスワード(バッチファイルにモロに書くのはよろしくないですね)に変えます。初回だけ-batchを外した内容をターミナルで実行、表示されるメッセージに適宜設定します。
プロデル側はこんな感じ。メイン画面というGUIを表示する前段の部分です。
ポスグレというODBCデータベースを作る
ポスグレのドライバは「{PostgreSQL Unicode(x64)}」
ポスグレのサーバは「localhost」
ポスグレのユーザ名は「testuser」
ポスグレのパスワードは「********」
ポスグレのポートは63333
ポスグレのデータベースは、「testdb」
トンネル処理は、最小化で「tunnel.bat」を開いたもの
10回、繰り返す
接続成功は、○
例外監視
ポスグレへ接続する
発生した場合
接続成功は×
そして
もし接続成功なら、出る
そして
もし接続成功なら
メイン画面を表示する
待機する
そして
10回接続を試行してますが、 これはtunnel.batを起動後、トンネル開通までタイムラグがあって接続できない旨のエラーが出ることがあるので、その対策です。あと、メイン画面種類の中で、
閉じた時の手順
トンネル処理を閉じる
終わり
とやって最後にプロセスを終了します。
これでだいたい安定して動きますが、開発作業中に何度も異常終了を繰り返していると、サーバー側でsshセッションが溜まるのか、接続が不安定になることがあります。ここら辺もうちょっとどうにかしたいですね。