|
分類:[.NET 全般]
2009/04/01(Wed) 19:59:59 編集(投稿者) 2009/04/01(Wed) 01:06:18 編集(投稿者)
■質問内容 ストアドプロシジャー処理中に途中経過情報(件数とキー)を更新した一時表テーブルを、 クライアントPC上でタイマー等を使い、一時表テーブルを参照してプログレスバーで 進捗情報を表示しようとしています。
ですが、ストアドプロシジャー処理中の為か、一時表テーブルを参照しよう としても応答がありません。(処理が終われば、応答が返ってきます。)
呼出しプログラムでのストアドプロシジャー処理中に、他のテーブルは 参照することは、そもそも無理なのでしょうか?
他に進捗状況をクライアントPC上に表示する方法があれば、ご教示ください。
■環境 OS : Windows XP Professional SP2 VB2005 ODP.NET 10.2 DataBase : Oracle 10.2
※分類に迷ったのですが、設計/仕様としました。 →原因的にいえば、「.NET 全般」に変更しておきます。
追記: 画面から抽出条件を入力→最大件数取得→ストアドプロシジャーをコール 一定間隔で、一時表テーブルを参照している ストアドプロシジャーは現在マルチスレッド(BackgroundWorker)で動作
ストアドプロシジャーでは現状件数が少ないためテスト的にdbms_lock.sleep(1) をループ内でセット
案: ファイル出力とかかなー クエリ変更通知 OracleDependencyクラス たぶんダメかな ストアドだけ別プロセスとか 別プロセスなら参照できそうかな 一時表じゃダメか
|