- PR -

実行中のトランザクションから他のトランザクションを呼び出す場合に考慮すること

1
投稿者投稿内容
たけくん
ベテラン
会議室デビュー日: 2003/08/19
投稿数: 63
投稿日時: 2005-02-03 13:33
UNIXにDBサーバはInformixを使用する環境で作業をしています。
Informixは知らないという方でも、一般的な考えでもいいので教えてくださると助かります。

UNIX上からシェルを起動して4GL(Informixのプログラム言語 PL/SQLのようなもの)を動かしています。そのなかで、処理のログをログ用のテーブルに書き出しています。

その方法として二つの方法を考案しました。
1 ログ記述のSPを作成する
この場合、ログに書き込むデータを配列の関数に記録していき、処理の最後に(commit/rollback後)にSPを起動して一気にログデータを書き込む

2 ログ書き込み用の別の4GLを作成してログが出るたびに、4GLを起動して書込みを行う

1の場合は、処理件数がどの程度あるかのみつもりを立てる必要があります。無駄に大きな数値を宣言するのは良くないと思うからです。しかしどの程度ログに書き込むかの件数が不明です。

2 の場合は、その都度別の4GLを起動(トランザクション処理を行う)ので、独立した処理として動かすことができます。
2の場合は、4GLの起動方法として、
・動かす4GLは同一のフォルダに入れる
・『 run XXXXXX/4ge 引数1 引数2 引数3 ・・・ 』として起動する(同一階層のフォルダなのでこれだけで起動できる

これでの問題点は
各PGMからログ出力のツドこの処理をCallしても問題ないのか
ということです。

問題があるのか無いのか。これについて教えていただきたく思います。
1

スキルアップ/キャリアアップ(JOB@IT)