意外なことが起因していることがあります。
本日は、
ORA-01000
です。
Javaやcobolの案件でよく
ORA-01000:最大オープン・カーソル数を超えました。
のエラーを目にすることがあるかと思います。
これは、
データベースサーバー側で同時に使用可能なカーソルの最大数
(初期化パラメータ:OPEN_CURSORSの値)
を超えてカーソルをオープンした場合に発生することは
言うまでもありません。
しかし、いくらソースを確かめても
カーソルの閉じ忘れのようなコーディングは
簡単には見つけられないものです。
ここで気を付けていただきたいのは、
何もカーソルの閉じ忘れは、
コーディングミスによるものだけではないということです。
例えば、
SQLに不備があり、
正常終了していない場合でも
カーソルはクローズされないのです。
仮に上記のように
SQLに不備があり
カーソルがクローズされなかった場合は、
そもそもそのSQLで取得した結果すら
まともに返却できていないことがあります。
したがって、
その結果を使って計算している箇所など、
本当に正しい値が返却されているかは
見直す必要があることに注意してください。
明らかに構文エラーなどが発生した場合は、
他のORACLEエラーが発生するため、
それなら逆に分かりやすいですね。