Oracle11gについて
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
nishi
投稿数: 12
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
データベースは、Oracleを利用しており、
Oracle8iからOracle11gにアップし、MAGICは、
V9からuniPaaSV1に単純移行しました。
その際に、MagicV9-Orace8i時にタスク環境のソートテーブルに設定してあるプログラムが、uniPaaSV1-Orace11gだと、ORA-1002のエラーが発生します。uniPaaSV1の問題なのか、Oracle11gの問題なのか、どなたか教えて頂けないでしょうか。
SQL文を作ることで、逃げ道はあるのですが・・・。
Oracle8iからOracle11gにアップし、MAGICは、
V9からuniPaaSV1に単純移行しました。
その際に、MagicV9-Orace8i時にタスク環境のソートテーブルに設定してあるプログラムが、uniPaaSV1-Orace11gだと、ORA-1002のエラーが発生します。uniPaaSV1の問題なのか、Oracle11gの問題なのか、どなたか教えて頂けないでしょうか。
SQL文を作ることで、逃げ道はあるのですが・・・。
投票数:0
平均点:0.00
nobukoshi802
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
Ora-01002は、magic側の問題です。
PL/SQLだと、カーソル、フェッチでループする処理で
カーソルオープン時に、 for updateオプションを使用した場合
カーソルクローズを行う前にコミットを発行した場合に
発生します。
magicの場合、レコード後処理でupdateのsqlを発行しますが
このupdateのwhere句を見ると for updateのカーソルに対して
行っているはずです。
対応方法としてmagic側でレコード単位でコミットしているタスク
に対して、親タスクでタランザクションを開始させるか
もしくは、親タスクのトランザクションを無く方法があります。
PL/SQLだと、カーソル、フェッチでループする処理で
カーソルオープン時に、 for updateオプションを使用した場合
カーソルクローズを行う前にコミットを発行した場合に
発生します。
magicの場合、レコード後処理でupdateのsqlを発行しますが
このupdateのwhere句を見ると for updateのカーソルに対して
行っているはずです。
対応方法としてmagic側でレコード単位でコミットしているタスク
に対して、親タスクでタランザクションを開始させるか
もしくは、親タスクのトランザクションを無く方法があります。
投票数:1
平均点:10.00
nishi
投稿数: 12
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
nobukoshi802さんへ
ご返答ありがとうございました。
早速試させて頂き、UPDATEも行わないプログラムなので、
トランザクション無しにし、うまくいきました。
ソートテーブルは、関係なかったのですね。
大変助かりました。
ありがとうございました。
ご返答ありがとうございました。
早速試させて頂き、UPDATEも行わないプログラムなので、
トランザクション無しにし、うまくいきました。
ソートテーブルは、関係なかったのですね。
大変助かりました。
ありがとうございました。
投票数:0
平均点:0.00