アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

データが更新された段階で、外部プログラム(xxx.exe)を実行したいと考えております。

おそらく、トリガを利用すれば可能かと思い調査しておりますが、
どのようにして外部プログラムを実行すればよいか分かっておりません。

ご存知の方、ご教示頂けないでしょうか。

よろしくお願いいたします。

A 回答 (1件)

もう10日以上前なのでご覧になっていないかも、ですが。



.exeと言う事はDBサーバーはWindowsですね。

SQL Serverでは標準で使える機能ではありますが(推奨はされていませんが)、PostgreSQLのトリガーで使用するPL/pgSQLでは面倒な手順が必要です。
(商用のORACLEの場合も同様)

まず、使うのはPL/pgSQL以外に、この場合、C言語も必要です。

C言語関数
http://www.postgresql.jp/document/8.3/html/xfunc …

但し、ご自分で検索されるとわかると思いますが、ほぼ全てのサンプルはUnix/Linuxです。
(と言うかWindowsの例は探せませんでした)

DBを操作するアプリケーションを作成されているのであれば、そちらで行った方がよいと思います。

私自身は、PostgreSQLではありませんが、以前、ORACLEで外部コマンドを実行する処理を作った事があります。
(方法は上記リンクと似たような感じで、やはりC言語でライブラリをコンパイルする必要があります)

Cに関しては初心者ではありませんが、正直、サンプルレベル以上の、仕事で使えるレベルにするにはかなりハマるな、と思いました。
Windowsだと権限周りも面倒そうなので、更にハマる事、必至だと思います。
(何より事例が少ない)

それと、もし
「DBサーバーはUnix/Linuxだが実行したいexeはリモートのWindows上」
と言う事でしたら、もはやトリガ内で何かする、と言うのはあり得ません。
(私が上司なら即座に却下します)
    • good
    • 1
この回答へのお礼

utakataXEX様

ご回答ありがとう御座いました。

やはり簡単には実現できそうに無いのですね。
私もあれから調査を継続しておりましたが、中々良い案が見当たりませんでした。

今回は複数の種類のプログラムからDBを更新する構成であり、更新後の処理を1か所で行いたいという狙いがありましたが、今回はDBを更新するプログラム側で、更新後の処理を行うことにいたします。

ありがとうございました。

お礼日時:2012/08/13 09:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す