2009-08-05 118 views
0

iSeriesストアード・プロシージャー(さまざまなCL & RPGプログラムで構成される)を呼び出すときに断続的な問題があります。エラーがある: -iSeriesプロシージャー呼び出し時のコミットメント制御エラー

Commitment definition *N not valid for open of QAOSSI12 
    Error occurred while opening file QAOSSI12. 

としては、問題が常に発生しません言及したが、負荷がプロシージャをテストする際に、より発生します。

私は情報が漠然としていることは知っていますが、どんなアイデアも高く評価されています!

+0

どのようにロードテストしていますか?外部から(例えば、JDBCコール)、または内部から(例えば、プロシージャからの直接コール)。後者の場合、名前付きアクティベーショングループを使用しているかどうかを確認してください。 Danny Tが書いているように、スコープを確認してください。 – robertnl

答えて

0

これはエラーCPF4326ある場合は、メッセージテキストには、以下の可能性を与える:コミットメント定義* Nがアクティブでないとき

  • メンバーQAOSSI12は、コミットメント制御のためにオープンしました。
  • * N以外のコミットメント定義のメンバーQAOSSI12に対して未コミット変更が保留中です。
  • 呼び出しプログラムは、* ACTGRPの有効範囲を持つコミットメント定義* Nを使用していますが、プログラムは* JOBのアスペクトを使用してファイルをオープンするように指定しています。

あなたのケースにこれらの状況がありますか?

0

私たちはCPF4326を取得しています。動作していると思われるソリューションは、jdbc URLに「トランザクション分離=なし」を追加することです。とにかくトランザクションを使用しようとしているわけではありません。したがって、トランザクションを有効にしても利点はありません。たとえコミットメント制御まで明示的に何もしていないとしても、iBATIS内の何かがエラーが発生したときにトランザクションをロールバックしようとしていることも疑わしいです。

関連する問題