2016-08-31 10 views
0

私はMS ESENT docからサンプルを実行しようとしていましたが、別のサンプルが見つかりました。MSサンプルはVC++ 2010 Expressでうまくコンパイルされます。私は-1216 0F私は、エラーコードを取得するのいずれかのプログラムをしようとすると、使用しようとしている

として文書化が優れたデータベースの添付ファイルは、回復の開始または終了時に検出されましたが、データベースが存在しないか、添付ファイルの情報と一致していません。

これは新しい開発であるため、私は何が必要か分からない。誰もこのエラーを見ましたか?

答えて

0

(これはヵ月後であることを申し訳ありませんが、多分それは他の誰かを助ける。)

あなたは開発中JET_errAttachedDatabaseMismatchを参照してくださいする可能性が高くなります。これは、ESEで生成されたファイルの一部を削除することでよく発生しますが、すべてではありません。データベースを削除する場合は、ログファイルも削除する必要があります。このシナリオは、開発中にデータベースを削除しようとするときには一般的ですが、他のファイルを削除することは忘れてはなりません。

新しいデータベースが作成されると、それに関連付けられた署名(タイムスタンプと乱数)があります。 esentutl -mh foo.edbでこれをダンプできます。トランザクションログファイルは、参照するデータベースの署名を追跡します。別のマシンから同じ名前のデータベースファイルをコピーすると、シグネチャは一致しません。この不一致は、時にはJET_errAttachedDatabaseMismatchと表示されることがあります(しかし、それがバブルアップする可能性があります)。

JetInitは少し間違っています。ログファイルの再生を開始します。第1世代のすべてのログファイルがある場合、データベースエンジンはデータベースファイルを完全に再作成できます。

希望に役立ち、

-martin
関連する問題