顧客 EDB データベースのテーブルのプライマリ インデックス内をシークしようとしています。そして私は惨めに失敗します。JetGetIndexInfoを使用してインデックス情報を取得し、インデックスについてすべて知っています (これはプライマリ インデックスであり、使用されている列はわかっています)。パフォーマンスを最大化するために、既知の値と既存の値のインデックスをシークしたいのですが、JetSeekは、検索したいキーを見つけることができないと主張しています。
現在、インデックス キーをダンプする方法を探しています。そうすれば、使用しているキーに何かを追加する必要があるか、何らかの方法で変換する必要があるかを確認できます (それが正しいキーであると確信しています)。または、何が問題なのかを見つけるための別のトリックはありますか?
失敗の原因と思われる詳細の 1 つは、 MSysObjectsテーブルのKeyFldIDs列のエントリである可能性があります。特定のインデックスには、いくつかのエントリがあります。自分でインデックスを作成した場合、そのフィールドは通常空白です。それは何をするためのものか?
UPDATE @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