※この現象は8.0.40.0で修正されました。
対象製品とバージョン
Forguncy Builder 8.x
現象
「トランザクション」コマンド内で設定したデータベースに対する操作が、「CSVインポート/エクスポート」コマンドのみである場合、トランザクション単位のコミット、およびロールバックが行われません。
このため、何かしらのエラーや障害によって処理が強制終了した際には、一連の処理の一部分の変更だけがデータベースに反映されてしまいます。
この不具合は、内部データベースと外部データベースの両方で発生します。
回避方法
「トランザクション」コマンド内の子コマンドに以下のいずれかのコマンドがあると、トランザクションが有効に働いてトランザクション単位のコミット、およびロールバックが可能です。
注意点
上記コマンドが「CSVインポート/エクスポート」コマンドと同じ接続情報を利用している必要があります。例えば、CSVインポートをOracleデータベースに対して行い、「テーブルデータの更新」コマンドを内部データベースに対して行う場合は、「テーブルデータの更新」コマンドを追加してもトランザクションは動作しません。
設定例
「トランザクション」コマンド内の処理で「SQLクエリーの実行(サーバーサイド)」コマンドを指定し、実行するSQLにSELECT文を指定すると、不要なデータベースへの変更操作を発生させずに問題を回避することができます。
※「変数の設定」コマンドでデータベースのテーブルを参照しても、トランザクションは有効になりません。
文書種別
不具合
検索キーワード: fgcbug