(これはヵ月後であることを申し訳ありませんが、多分それは他の誰かを助ける。)
あなたは開発中JET_errAttachedDatabaseMismatch
を参照してくださいする可能性が高くなります。これは、ESEで生成されたファイルの一部を削除することでよく発生しますが、すべてではありません。データベースを削除する場合は、ログファイルも削除する必要があります。このシナリオは、開発中にデータベースを削除しようとするときには一般的ですが、他のファイルを削除することは忘れてはなりません。
新しいデータベースが作成されると、それに関連付けられた署名(タイムスタンプと乱数)があります。 esentutl -mh foo.edb
でこれをダンプできます。トランザクションログファイルは、参照するデータベースの署名を追跡します。別のマシンから同じ名前のデータベースファイルをコピーすると、シグネチャは一致しません。この不一致は、時にはJET_errAttachedDatabaseMismatch
と表示されることがあります(しかし、それがバブルアップする可能性があります)。
JetInit
は少し間違っています。ログファイルの再生を開始します。第1世代のすべてのログファイルがある場合、データベースエンジンはデータベースファイルを完全に再作成できます。
希望に役立ち、
-martin