掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SQLite3の使用について (ID:47832)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
既に解決済みですが、明確な原因が分かりました。 FireDacのオプション設定で ADConnection.FetchOptions.Modeが関係していて、これの値の初期値が「fmOnDemand」だったのが原因でした。 RowsetSize=50が初期値+「fmOnDemand」の場合、レコード取得が50件毎に取得する状態で、NextRecordが実行されると再度取得に次の50件取得が走るようです。 (RecordCountを調べた時に気づきました) これを「fmAll」にし、一度のSQLで全件取得出来るようにしただけで、「database is locked」が表示されなくなりました。 複数端末で同時に書き込みを行ったところ、早い方の書き込みが終わるまで遅い方は待ち状態になるので、狙った通りの動きになってくれました。 なぜレコード取得の状態でロックがかかるのかは現在調査中です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.