クエリを実行するレコードセットがあります。
rs.Open "SELECT * FROM Update",objConnection.ActiveCon
Do While Not rs.EOF
'More logic here.
loop
rs.close
クエリ結果は、今日の通常よりもはるかに大きく、つまり150万行です(通常の約100000行ではありません)。レコードセットを開こうとするとエラーが発生します。つまり、「オブジェクトが開いていました」です。これは何を意味するのでしょうか?私はそれを調査しましたが、レコードセットが大きすぎて、より低いレベルの抽象化でエラーが発生しているという唯一の説明が見つかりました(結果が多すぎるため)。これは正しいです?
UPDATE 03/06/2012 15:31 まず、私はここで同様の質問を見つけました:http ://www.simple-talk.com/community/forums/thread/59059.aspx 。回答者は次のように引用しています。
私自身はこれを経験したことがありませんが、通常、同じテーブルでルックアップを持つ複数のデータフローを並行して実行すると発生します。行の再同期中にエラーが発生しますが、少なくとも1つの行が正常に再同期されました。このエラーは、開こうとしたストレージ・オブジェクトがすでに開いていることを示しています(おそらく、両方のルックアップが同じバッファー域を共有しているためです)。」
彼はどういう意味ですか:「同じテーブルでルックアップを持つ複数のデータフローを並行して実行する」。彼は同じテーブルを更新する2つの異なるプロセスを参照していますか?
次に、Windowsプロセスのサイズに制限があるかどうか迷っています。制限を超えると、エラーが表示されますか?