PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
1502 98/05/15 20:36:58 RE(3):トレース機能ってどうするの? By Taka
1494 98/05/15 17:42:00 RE(2):トレース機能ってどうするの? By HIDENORI
1490 98/05/15 17:02:27 RE(1):PB5.0.02: スプリクトに記述したSQL文が止まる?? By Taka
1479 98/05/15 12:46:29 PB5.0.02: スプリクトに記述したSQL文が止まる?? By HIDENORI

カテゴリ:旧電子会議室
日付:1998年05月15日 17:02 発信者:Taka
題名:RE(1):PB5.0.02: スプリクトに記述したSQL文が止まる??

HIDENORIさん こんにちは。 Takaです。
(久々の登場です。皆様おかわりありませんか?)

>DECLARE カーソル名 Cursor for
>  select文;

>open カーソル名;    <=== ここで止まる

主な原因として、以下のものが考えられると思います。

1. SELECT文に FOR UPDATE を付けていませんか?
   同一行が他のセッションでロック中の可能性があります。

2.SELECT文の重さは?
   OPEN文の実行中は、サーバー内でSELECT文を実行し結果集合を作成しています。
   最後まで結果集合が作成されたら FETCHで取り出すわけですが、
   そのSELECT文が重たいと、サーバーの性能や諸条件によっては、なかなか返って
   こないケースが考えられます。この場合、結果の件数の多さよりも、むしろ
   件数の多いテーブルやVIEWを複雑に結合しているなどの方がパフォーマンスに
   大きく影響します(ほったらかしておけば、いずれ返ってくる)。

3.循環参照の危険性
   ここは私もあまり知識がありません。ごめんなさい。
   (ORACLEなら、きちんと検出し中断してくれると思いましたが)

4.ネットワーク負荷

ざっと、こんなとこでしょうか。

SQL*Plusなど、他のアプリケーションから同一のSELECT文を実行し、
その結果を見てみると良いと思います(PBの問題かどうか判ります)。

PBの問題なら、トレース機能で何か出るかもしれません。
( SQLCA.DBMS = \"trace O73\" で CONNECT する)

では、お試しあれ。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.