忍者ブログ
nowaからの移行先
Posted by - 2025.05.07,Wed
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Posted by lawrhino - 2007.06.09,Sat
VBAから数万件のレコードがあるテーブルに
1件ずつアクセスして順番に更新処理をしていると
9500件あたりで
「ファイルの共有ロック数が上限を超えています」
というエラーが出る。

回避方法を調べてみると
MicroSoftのページ
レジストリのMaxLocksPerFileの値を
大きくしてやることで対応可能とあった。

レジストリいじれって・・・
環境移動もできないし、レコード件数決めうちかよ。
というわけで却下。
しかたなく分割処理を行う事にした。


5000件毎にコネクション閉じて、開きなおして
データ加工して更新して・・・
以下繰り返す。


制御用のクラスを作って、内部に総件数と
現在のカウンタを持たせる。
呼び出し側では1件読む毎にカウンタを進めながら、
処理対象レコードかどうかの判定を制御クラスに任せて、
処理対象なら処理を行う。

こんなときクロージャが使えたら
もっとスッキリとしたコードが書けるのにな。

もっとスマートな方法はないもんだろうか。
PR
Comments
Post a Comment
Name :
Title :
E-mail :
URL :
Comments :
Pass :   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
TrackBack URL
TrackBacks
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
プロフィール
HN:
lawrhino
性別:
非公開
忍者アド
最新TB
バーコード
アクセス解析
Template by mavericyard*
Powered by "Samurai Factory"
忍者ブログ [PR]