ページサイズに問題があるため、esentデータベース(Windows.edb)を開くときに問題が発生しました。私のシステムのWindows.edbのページサイズは32Kです。JET_paramDatabasePageSizeを介してこれを設定すると、JetInitはエラー-1213を返します(データベースのページサイズがエンジンと一致しません)。Laurion Burchallは、データベースへの読み取り専用アクセスのみが必要になったら、JET_paramRecoveryをオフにすることを提案しました。それで私の問題は解決しました。
今まで。データベースを完全にシャットダウンしていません。JET_paramRecovery = Onを使用すると、JetInitが自動的にリカバリを実行し、データベースを読み取らせると思います。しかし、それを試してみると、古い-1213エラーが発生します。
これで、ESENTUTLを使用してファイルを修正できますが、アプリのダミーユーザーは修正できません。リカバリをオンにして、任意のDatabasePageSizeを定義できる方法はありますか?データベースの場所にログファイルはありません(そして、ログパスを同じディレクトリに設定して、他の場所に書き込まれないようにします)。
これは、私のマシンのエンジンがページサイズまたはデータベースをサポートしていないことを意味しますか?または、別のマジックスイッチを設定することで問題を解決できますか?