Я пытаюсь выполнить поиск в первичном индексе таблицы в базе данных клиентов EDB. И я с треском провалился. Я получил информацию об индексе с помощью JetGetIndexInfo и знаю все об индексе (это основной индекс, и я знаю столбец, который используется). Теперь я хочу найти в этом индексе известные и существующие значения, чтобы максимизировать производительность, но JetSeek утверждает, что не может найти ключ, который я хочу найти.
Теперь я ищу способ сбросить ключи индекса. Таким образом я мог видеть, должен ли я добавить что-то к ключу, который я использую, или преобразовать его каким-либо образом (я абсолютно уверен, что это правильный ключ). Или есть другой трюк, чтобы найти, что идет не так?
Одной деталью, которая может стать причиной моей ошибки, может быть запись в столбце KeyFldIDs в таблице MSysObjects . У определенного индекса есть некоторая запись там. Если я сам создаю индекс, это поле обычно остается пустым. Что это делает?
ОБНОВИТЬ
@Laurion: мне удалось запустить dbutil в базе данных. Вот выдержка, которая имеет отношение:
AdditionalData
AttId
Coltyp: Binary
Columnid: 2.147.483.777
Max length: 8
Grbit: None
MsgFolderIndex6
Grbit: IndexUnique, IndexPrimary
CultureInfo: en-US
CompareOptions: IgnoreCase, IgnoreKanaType, IgnoreWidth
AttId
Coltyp: Binary
IsAscending: True
IsASCII: False