Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Программирование —› Проблема с реиндексацией .dbf файла |
Посл.ответ | Сообщение |
|
Создано: 13 июля 2007 14:43 · Личное сообщение · #1 Суть в следующем. Есть старая бухпрограмма БЭСТ-4, она досовская.База данных использует .dbf файлы. Максимальный размер записей в одном .dbf файле при котором корректно стоятся cdx индексы где-то около 800 000. У меня файл, где записей 961 000.Так получилось. Индекс правильно не строится и соответственно инфа в базе выдается некорректная. Никто не знает, как можно построить индексы у такого файла? |
|
Создано: 13 июля 2007 16:42 · Личное сообщение · #2 Если это пытаешься сделать под 2000/XP, то попробуй положи в папку Windows\System32 прилагаемый файлик и добавь в Autoexec.nt строчку lh %SystemRoot%\System32\resfree.com 4 и перезагрузись. 146d_13.07.2007_CRACKLAB.rU.tgz - Resfree.rar |
|
Создано: 16 июля 2007 10:45 · Личное сообщение · #3 |
|
Создано: 16 июля 2007 11:32 · Личное сообщение · #4 Индексы то построить можно кучей прог, в т.ч. и Access'ом, вопрос в другом - если БЭСТ не поддерживает больше 800 000 записей, то и работать он с таким файлом будет скорей всего неправильно (добавлять и удалять записи тем более) , т.е. проблема видимо в БЭСТ'е а не в dbf... ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 16 июля 2007 11:40 · Поправил: dimaxmaster · Личное сообщение · #5 Smon пишет: Индексы то построить можно кучей прог, в т.ч. и Access'ом, вопрос в другом - если БЭСТ не поддерживает больше 800 000 записей, то и работать он с таким файлом будет скорей всего неправильно (добавлять и удалять записи тем более) , т.е. проблема видимо в БЭСТ'е а не в dbf... БЭСТ будет работать, посоветуй какой прогой можно проиндексировать?кроме Аксесса |
|
Создано: 16 июля 2007 12:00 · Личное сообщение · #6 |
|
Создано: 16 июля 2007 13:27 · Личное сообщение · #7 |
|
Создано: 16 июля 2007 14:42 · Поправил: yergazy · Личное сообщение · #8 |
|
Создано: 16 июля 2007 14:55 · Личное сообщение · #9 yergazy пишет: У Вас 10-12 индексных файлов с расширенем ".cdx"? Если пользуетесь Тотал Коммандером, попробуйте плагин xbaseview. Он хоть покажет типы индексов. индексный файл .cdx - один, но в нем индексы содержутся разные, индекс - это формула, которая генерирует спец пометки, для ускорения работы .dbf файлов, таких формул может быть как одна, так и несколько, в данном случае у меня в файле 10-12 таких формул, я их называю индексами, возможно это звучит не очень корректно, но спецам понятно |
|
Создано: 16 июля 2007 22:03 · Личное сообщение · #10 1. Какая ОС? 98 или XP? 2. Какая версия dbf-файла (глянь чем-нибудь типа плагина lookdbf к far, хотя если в фокспро 2.5 открывается, то скорее всего нормальная версия). Какой размер dbf и cdx? 3. Попробуй запустить фокспро 2.6a - это вроде последняя версия под дос была, причем грузи не foxpro а foxprox.exe - она в защищенном режиме и больше ОЗУ увидит. 4. Ну и по порядку теги перебирай и переиндексируй (можешь между переиндексированием тегов даже выходить из фокса). |
|
Создано: 17 июля 2007 09:38 · Личное сообщение · #11 |
|
Создано: 17 июля 2007 11:48 · Личное сообщение · #12 |
|
Создано: 17 июля 2007 12:19 · Поправил: BumbIK · Личное сообщение · #13 |
|
Создано: 17 июля 2007 13:20 · Личное сообщение · #14 dimaxmaster > 2. версия DBASE IV? размер dbf 650 метров, кол-во записей 970 тыс, cdx размер 122 метра Странно: - индексные файлы DBASE должны иметь расширение .MDX или .NDX; - расширение .CDX принадлежит к FoxPro и Visual FoxPro ДБФ-кам. Может проблема в этом? Когда в интерпретаторе FoxPro открываешь Dbase файл, FoxPro, вроде, должен был автоматом переконвертировать его в свой формат. Скачайте wincmd.ru/download.php?id=xBaseView и запустите этот ЕХЕ на Ваш ДБФ. Что показывется на статусной строке внизу? |
|
Создано: 17 июля 2007 14:45 · Личное сообщение · #15 yergazy пишет: Скачайте wincmd.ru/download.php?id=xBaseView и запустите этот ЕХЕ на Ваш ДБФ. Что показывется на статусной строке внизу? при чем тут формат файла, я ж пишу, файл dbf, а индекс его cdx, размер dbf файла 650 метров, а размер индекса файл cdx 122 метра. Дело не в размере, а в количесте записей, записей 970 тыс, фокспро НЕ СОЗДАЕТ файл индекса из-за большого кол-ва записей в дбф файле, если не разбираетесь, зачем давать глупые советы BumbIK пишет: В FPD нужно запускать FOXPROX.EXE, а не FOXPRO.EXE. Если в архиве файл небольшой, выложи его с индексом где-нибудь. попробую, выложить не могу, оригинально весит 650 метров, в архиве 35 метров - это много, лучше посоветуйте, чем попробовать реиндексировать, кроме фокса, поисках в гугле и на всяких софтодромах и таких самых сайтов, ничего толкового не нашел |
|
Создано: 17 июля 2007 15:25 · Поправил: YDS · Личное сообщение · #16 |
|
Создано: 17 июля 2007 17:56 · Личное сообщение · #17 dimaxmaster DBF-файл формата DBASE IV не может иметь индексный файл с расширением ".CDX"! Так определено разработчиком этого формата - Борландом. Не поленитесь и попробуйте мою крутую программу xbaseview. Мне тоже интересно, как себя поведет мой самодельный СУБД - xBase DBF Engine. Только осторожно! Работайте на копиях файлов. |
eXeL@B —› Программирование —› Проблема с реиндексацией .dbf файла |