レンタルサーバーのDB取得(VBA+CGI)

レンタルサーバーのMySQLやPostgreSQLなどをVBAで処理したいという要望が多い。
当然セキュリティ対策でVBAから直接レンタルサーバーのDBへはアクセスできない。
解決方法として次の方法を良く見かけます。
1) 一定間隔でサーバー側(Shell,PHP,CGI,etc…)でテキストなどに変換しておいて
2) VBAからFTP(ssh)で取得しに行く

今回は別な方法を提案したい。少し細かくすると以下のような方法である。
a) サーバ側へ1件分の未処理データを表示するCGI or PHPを用意しておく
b) サーバ側へ1件分のデータを処理済みにするCGI or PHPを用意しておく

1) VBAからHTTPでa)からデータを取得する
2) VBAで取得したデータの処理を行う
3) VBAからHTTPでb)へ送信をして処理済みにしておく
この方法だとDBが使えてCGIかPHPを設置できるレンタルサーバーならどこでもOKでFTPの必要性がなくなる。
もっとも、FTPが使えないレンタルサーバーって見たことないけど・・・。

実際のコード例はこんな感じで。
※注意:実際に使用する場合はPOSTで認証処理を必要にしたりHTTPSにしたりすべきですね。
a)のCGI例 実際にはこんな感じのテキストがVBAで取得できます。
b)のCGI例
1)から3)のVBAの例

如何なもんでしょうか?

カテゴリー: MS-Access パーマリンク