[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/01/20(Fri) 15:39
投稿者名:なな
Eメール:
URL :
タイトル:
sqlの問い合わせをキャンセルできますか?
oo4oで、select文を書いているプログラム(VB6)で、
抽出に時間がかかる時に「キャンセル」ボタンで処理を中断させたいのですが、
方法はありますか?
初歩的質問で申し訳ないですがよろしくお願いします。

投稿時間:2006/01/20(Fri) 16:18
投稿者名:いな
Eメール:
URL :
タイトル:
Re: sqlの問い合わせをキャンセルできますか?
hhttp://www2j.biglobe.ne.jp/~little-g/cgi-bin/vbdatabase.cgi

マルチポストされているようなので、回答削除

投稿時間:2006/01/20(Fri) 17:17
投稿者名:なな
Eメール:
URL :
タイトル:
Re^2: sqlの問い合わせをキャンセルできますか?
無理ってことですね。
ありがとうございます。

投稿時間:2006/01/20(Fri) 17:54
投稿者名:いな
Eメール:
URL :
タイトル:
Re^3: sqlの問い合わせをキャンセルできますか?
> 無理ってことですね。
> ありがとうございます。

そうですね、対象のDBを明かさないことには無理ってことですね。
発行済みSQLをキャンセルすることは、そう難しくはありません。

投稿時間:2006/01/23(Mon) 13:40
投稿者名:なな
Eメール:
URL :
タイトル:
Re^4: sqlの問い合わせをキャンセルできますか?
返事が遅くなってしまいましたが、
発行済みのSQLとはどういう状態の事でしょうか。
既にSetした状態?
また初歩的質問ですみません。;

投稿時間:2006/01/23(Mon) 17:56
投稿者名:いな
Eメール:
URL :
タイトル:
Re^5: sqlの問い合わせをキャンセルできますか?
> 発行済みのSQLとはどういう状態の事でしょうか。

SQLをDBサーバに問い合わせている状態のSQLのことです。
具体的回答につきましては、5546に記述したのですが、
保存はしていないので、既に手元には無いのが残念です。

投稿時間:2006/01/23(Mon) 18:14
投稿者名:なな
Eメール:
URL :
タイトル:
Re^6: sqlの問い合わせをキャンセルできますか?
そのやり方を教えて欲しいです。。。
もう手遅れですか?

投稿時間:2006/01/24(Tue) 02:07
投稿者名:いな
Eメール:
URL :
タイトル:
Re^7: sqlの問い合わせをキャンセルできますか?

> そのやり方を教えて欲しいです。。。
> もう手遅れですか?

書いて投稿した直後だったので保存してないのですよ
意地悪で行っているのでわなく出張中なので環境もないし

投稿時間:2006/01/24(Tue) 02:28
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^4: sqlの問い合わせをキャンセルできますか?
> そうですね、対象のDBを明かさないことには無理ってことですね。
ここで言っているのは、DB のバージョンの事ですよね。
(oo4oと書いている以上、DB が Oracle である事は明らかなので)


で、最近のバージョンの oo4o であれば、非同期実行は可能です。
もちろん、キャンセル用のメソッドも用意されています。
(oo4oのヘルプで、NonBlockingState などについて調べて見てください)

ただ、OraDyanset の生成自体が非同期になるというわけでは無いようなので、
一工夫は必要かもしれませんけれども。(INSERT等なら可能らしい)

# 手元に環境が無いので、具体的なソースは書けません……。

投稿時間:2006/01/24(Tue) 09:50
投稿者名:いな
Eメール:
URL :
タイトル:
Re^5: sqlの問い合わせをキャンセルできますか?
> > そうですね、対象のDBを明かさないことには無理ってことですね。
> ここで言っているのは、DB のバージョンの事ですよね。

そうです。
9や10では動かせましたが、
8以前では、未確認でした。
#さらに過去、動かなかったような、気がしましたし。

で、あっちの掲示板で、
「質問完了」っぽい掲示がされてたし、No.5548の記事もあったので、
「あぁ〜、あきらめたんだな・・・。」と思って

投稿時間:2006/01/24(Tue) 14:30
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^6: sqlの問い合わせを...
> 9や10では動かせましたが、
> 8以前では、未確認でした。
NonBlockingState プロパティが、8.1.6 にあるのかどうかはわかりませんが、
非同期自体は、Oracle8i Workgroup Server 8.1.5 以降で使えると聞いた事があります。
(OraAQオブジェクトだったかな? これについてはよく分かりません)

あるいは、9.0.1 以降の OraSubscription オブジェクトにて非同期化できるかも知れませんが、
いずれにしても、OraDynaset に対しては使えないかも知れません……(環境が無いので未確認です)

投稿時間:2006/01/25(Wed) 10:09
投稿者名:なな
Eメール:
URL :
タイトル:
Re^7: sqlの問い合わせを...
いなさん、魔界の仮面弁護士さん色々ありがとうございます。
Oracleのバージョンは7です。
それで、oo4oのヘルプで「OraSubscription」を検索してみたのですが、ヒットしませんでした。
やはりバージョンが低すぎなのかなぁ。
取り合えずもう少し色々調べてみます。