掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TADOQueryのCursorLocationについて (ID:44678)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Syake様 ご説明ありがとうございます。 現状を報告しますと、 CursorLocationをclUseServer CursorTypeをctKeyset LockTypeをltReadOnly になっております。 RecordCountが取得できなかった件をもう少し説明しますと、 Select * from table1という簡単なクエリですが、 私の計測していたところ、10万件ぐらいまででしたら、 問題なく取得できていたのですが、 50万件を超えた辺りから-1で帰ってくるようになりました。 上記設定にプラスして、もしかすると ExecuteOptions を [eoAsynchFetch] に設定など非同期にしていたかもしれません。 レコードカウントを取得していたのは、 単にfunction上でresult:=recordcount;にしていた為です。 >サーバーカーソルで例えRecordCountが取得できたとしても、それは その後のデータセットの正確なレコード数では無くなる事もありえます。 はごもっともで、とりあえず、今回は読出しのみで、 複数アクセスもなく、読出している間はレコードを触れない設計になっているので、とりあえず解決とさせて頂きました。 >危険性があるなら参考程度になるコードを書くべきだと思います。 はどういったことでしょうか? 逆に私の方から、Syakeへ、大量のレコードの読出しは SQL SERVERの設定、Delphiからのアクセス方法も含め、 どのように行われているのか、すごくお聞きしたいです。 今回は最大で200万件程度の想定でした。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.