|
|
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
Скажите пожалуста, есть ли возможность просмотреть содержимое файлов cdx и ntx. (т.е. непосредственно содержимое столбца (столбцов) по которым идет индексация)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 08:46 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
?sys(14,1) &&выражение индекса ?tagcount() ?tag() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 09:44 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
ATAGINFO() - появилась в VFP7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 10:47 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
Небольшое пояснение - в наличии имеются только сами cdx файлы без таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 13:58 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
Это сложнее. В принципе, конечно, тоже можно. Но придется разбираться со структурой хранения информации в индексных файлах. Общая идея простая. В индексе хранится пара: значение ключа - физический номер записи. Не значение поля, а значение ключа. Ведь выражение индекса не обязательно совпадает с именем одного поля. Это может быть некая функция. Вся проблема в том, как именно это хранится. Особенно в мультииндексных файлах (CDX). Описание структуры CDX есть в HELP по FoxPro. Никаких автоматических средств для этого нет. Придется вручную разбирать структуру файла. Лично я этим не занимался. Если сюда заглянет Igor Korolyov , то он может сказать подробнее. Он даже хотел писать некую процедурку разбора индексного файла, но, похоже, руки так и не дошли. Поищи его топики в данном форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 14:09 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
Hi Владимир! Да нет, утилита то по большей части написана, но не отлажена, потому я и не выкладывал её в законченном виде, а вот куски кода помнится публиковал... Также где-то в инете я видел подобную утилиту (не на фоксе правда написанную) - не уверен правда что она поддерживает все нововведения последних версий фокса... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2006, 22:51 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
Мой ответ к сожалению без конкретики, т.к. давно это было.. Нужно было просмотреть содержимое cdx-файла к таблице, созданной из клиппера с поддержкой cdx. Конкретно, интересовал один индексный тег по неизвестной функции. Сначала я решил пойти по пути brute force, и искать значение ключа для данной строки путем подбора. Т.е. устанавливаешь нужный тег активным, даешь установки set exact off, set near on, начинаешь перебирать все символы от chr(0) до chr(255) и подставлять их в команду seek, анализируя полученный результат. Проблема оказалась в том, что этот алгоритм работал для простых индексов. А для индекса, созданного в клиппере по функции, фокс возвращал неверный тип выражения - числовой вместо текстового. Потом я нашел программку в инете, которая вроде бы делала необходимые действия. Но у нее была та же проблема с несовпадением типов. В результате необходимая функция обнаружилась в той самой библиотеке клиппера, которая позволяет создавать индексы cdx - она возвращала значение индекса для данной строки. Я тогда даже посетовал, что аналогичной функции нет в VFP. Что за программу я скачал из инета, и какая именно функция в клиппере меня спасла, я увы - уже не помню... Надеюсь, сам факт их существования поможет вам найти решение вашей проблемы ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2006, 22:57 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
as_isСкажите пожалуста, есть ли возможность просмотреть содержимое файлов cdx и ntx. (т.е. непосредственно содержимое столбца (столбцов) по которым идет индексация)? Интересно было бы узнать, зачем Вам это надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2006, 09:21 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
Зачем это нужно? Начальство как известно думает за нас... Постоянно терялись данные в старой досовской программе. Из-за сбоев требовалась переиндексация. И вот от руководства поступило указание предоставить содержимое индексного файла, для сравнения с оригиналом. Думали проблема в индексном файле. Оказывается, при индексации содержимое таблицы восстанавливается из индекса.. Вот так век живи - век учись... И смех и грех. :)) А вообще задачка интересная... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 11:24 |
|
||
|
Просмотр индексного файла
|
|||
|---|---|---|---|
|
#18+
as_is Постоянно терялись данные в старой досовской программе. Из-за сбоев требовалась переиндексация... А если предложить руководству немного потратить денег на аппаратные средства и переписать программу под VFP 9.0 (буферизация, транзакции, Web Services...) ? Многие проблемы явно уйдут... But anway, good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 13:09 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33681524&tid=1591824]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 478ms |

| 0 / 0 |
