既存のマウントされていないesentデータベースファイル(Windows.edbなど)を読み込もうとしています。私はいくつかのedbファイルをかなりうまくいじっています。しかし、8192と等しくないPageSizeでデータベースを開こうとすると、エラーが発生します。
これが私のコードです(エラー処理なし):
FError:= JetSetSystemParameter(@FInstance、nil、JET_paramDatabasePageSize、FPagesize、nil);
FError:= JetCreateInstance(@FInstance、'EDBInstance');
FError:= JetInit(@FInstance);
FError:= JetBeginSession(FInstance、@FSessionId、nil、nil);
FError:= JetAttachDatabase(FSessionId、FFilename、JET_bitDbReadOnly);
FPageSize = 8192である限り、正常に機能します。他の値(4096、32768)は、-1213コードを返すJetInit呼び出しで失敗します。データベースに適切なPageSize値を設定しないと、JetAttachDatabaseで同じエラーが発生します。これは理解できます。しかし、JetInitによって返される最初のエラーは理解できません。私は何を間違えますか?Laurion Burchallがこれを読んでいることを願っています!:-)
私はWindows764ビットを実行しています。