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