同じ問題が仕事上で発生しそうなので、今後のために記録。
だって、すぐ忘れるんだもん! (いばるな)
さてさて。
仕事のプログラミングで不具合が発生して、忙しいさなか、 辛く苦しい原因探索の旅を1日半費やしてようやく解決したのでありますが、
回避出来たとはいえ、どうしても腑に落ちなくて、 久しぶりにプログラミング掲示板に質問してみたりしました。
それから既に3日経つけれども、誰からも解答がないのが寂しいです。 しょぼーん。 まぁ、特殊な気がするので、しょうがないですね。 最初から期待しないで投稿したので、だいじょぶです。 泣かない。
でもなー、SQL発行するところで、NVLつけていたらVBがプロジェクトごと落ちて、 NVL外したらOKだなんて誰が思うんだ。
やってみたところといえば。
リソースメーターを置いてみたり、 SQL発行するボタンにDoEventsを入れてみたり、 SQLが1024バイト超えるといけないとか聞いたから2つに分けてみたり、 ローカルよりグローバルの方がメモリを使えるというので、 引数で渡しているSQLをグローバルに持たせてみたり、 3つ参照しているテーブルを1つに変えてみたり、 開放していない配列の見直し、 同じく開放していないオブジェクトの見直し、 その他のSQLを一から見直し、 シンプルにする為に、そのSQLを発行するだけの画面を作成してみたり、 プロジェクトを作り直してみたり、 参照設定を見直したり、 取得列名が50あったので30にしてみたり、
それが、取得する数値項目40個のNVLを全部外すだけで通るなんて…。 はぁぁぁ。
人のプログラムで、あんまり技術のない人のやつだから、 プログラム追うのも大変で、どこも怪しく見えちゃって、本当に辛かった。
でもなー。 今後SUMとかしたい時どうしたらいいんだろう。 NVLを使っている全てのSQLが落ちる訳でもないけど。 会社の環境じゃ発生しなくて、現地でしか起きないから、 今後SQL書くの恐いなぁ。
会社と現地のサーバーのOracleのバージョンは一緒だから、 Oracleサーバが設定かなにかが悪いと思うのだけれど、 上司はおかしいことないっていうしなー。 わたし自身は、Oracleとの付き合いは短いので、設定とか良くわかりませぬ。
確かに、他のプロジェクトでも使用してるもんなぁ。 でもポートとか違うし…。 しおしおしお。
さてさて。 また現地で修正しているであろう、来月のわたし! 上のところに注意して、SQL見直せっ!! そいじゃ、頑張れな。わたし。
|