Я пытаюсь прочитать некоторые существующие и несмонтированные файлы базы данных (например, Windows.edb).Я довольно успешно поигрался с некоторыми файлами edb.Но когда я пытаюсь открыть базу данных с PageSize, которая не равна 8192, я получаю ошибку.
Вот мой код (без обработки ошибок):
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_OdDB)
Работает нормально, пока FPageSize = 8192. Любое другое значение (4096, 32768) не выполняется при вызове JetInit, который возвращает код -1213.Если я не установил правильное значение PageSize для базы данных, я получаю ту же ошибку в JetAttachDatabase, которую я могу понять.Но первую ошибку, которую возвращает JetInit, я не могу понять. Что я делаю не так? Надеюсь, Лорион Бурчалл читает это!: -)
Я использую 64-разрядную версию Windows 7.