powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Повреждение индексов при многопользовательской работе с dbf-таблицами
37 сообщений из 37, показаны все 2 страниц
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32980829
shtuzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток, господа!

Имеется
Novell 5.1 в виде файл сервера;
Станции под управлением DOS, на которых крутится приложение на FPD2.6;
Станции под Win'NT-2K с приложением на VFP9.0;
Таблицы и индексы CDX, лежащие на Новелле, созданы из FPD2.6

При всем при этом индексы падают по несколько раз в сутки. Судя по всему при попытках одновременной записи в таблицы с разных платформ.

ПОДСКАЖИТЕ, ПОЖАЛУЙСТА, ЧТО ДЕЛАТЬ!!!!!! КУДА РЫТЬ?

Заранее благодарен
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981001
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. с таблицами, созданными в FPD работает приложение из VFP?

Если приложение VFP может модифицировать данные и у таблиц есть индексы вроде UPPER(MyField), то куча проблем тебе обеспечена!

Это связано с особенностью формирования ключа индекса при работе в разных кодовых страницах. Fox всегда формирует выражение ключа в текущей кодовой странице FoxPro, а вовсе не в кодовой странице DBF.

Т.е. если DBF в 866 кодовой странице, а VFP работает в 1251, то из VFP выражение UPPER(MyField) будет вычислено в кодовой странице 1251, а не 866 как предполагается. Как следствие, ощущение что индексы "слетели", хотя это не так.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981012
shtuzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таких индексов нет
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981225
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но VFP пишет в DBF'ы от 2.6?
Если дело не в этом, и хоть когда-нибудь все работало нормально, то лезь в железо - сетевые, кабеля, свичи и т.п.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981345
shtuzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VFP9.0 ровно да сегодняшнего дня писал. FPD2.6 и сегодня пишет
Сегодня случилось что-то вообще не поддающееся. При добавлении записи индексный файл изменяется, но при этом в таблице этой записи нет.
Проверяли так. При открытии таблички FPD2.6 делаем:
Set order to TAG;
делаем поиск;
FPD пишет, что нашел;
делаем browse, а там ...

Полный абзац
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981602
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй добавить записи не из программы , а из FoxPro и
посмотри , что получится.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981662
shtuzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавить из VFP или FPD?
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981950
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shtuzerПри добавлении записи индексный файл изменяется...
Это все происходит на сервере? Перетащить на свой комп не пробовал?
Переиндексацию делал? Сетка работает стабильно?
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981961
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте, чтоб разделы на сервере NOVELL, куда имеют доступ рабочие станции под DOS были МЕНЕЕ 2 (двух) GB !!!
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32981969
bobit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shtuzerПри всем при этом индексы падают по несколько раз в сутки. Судя по всему при попытках одновременной записи в таблицы
Судя по всему, может быть. У меня, например, такая фишечка имеет место быть.
Я не говорю, что у вас именно тоже самое. Отнюдь! Просто, для примера расскажу.
В принципе, у меня всё как и у вас. И таблицы dBase III (FPD, CP-866) в нетвари, и приложения для FPD, и особо продвинутые сотрудники "дёргающие" те таблицы посредством VFP, и индексы иногда слетают.
Почему рушатся? Так я причину ту всё ж таки сыскал. Причина была в приложении FPD или в использовании VFP без учёта особенностей родного приложения - это как кому больше нравится, так пусть и сочтут для себя лучшим.
Шутка юмора (в моём случае) заключалается в том, что добавление новой записи в родном приложении не происходит как оно считается правильным для приложений обрабатывающих данные не в эксклюзиве, не монопольно то есть.
Нет в том приложении последовательности типа:
APPEND BLANK
GATHER MEMVAR
но имеет место примерно такой случай:
APPEND BLANK
REPLACE POLE_1 WITH VAL_1
REPLACE POLE_2 WITH VAL_2
.......
........
ля-ля тополя
........
REPLACE POLE_3 WITH VAL_3
........
и что самое обидное, вот там где точечки есть и READ-ы, и дополнительное вычисление обрабатываемой записи (чтобы, типа, не напутать куда потом добавить).
Так вот. "Грамотный" сотрудник (или программист), использующий VFP для работы с данными приложений FPD, ни чуть не заботясь об имеющихся "странностях" работающего приложения, начинает "грамотный" слив данных в таблицу....
Забавно то, что приложение FPD безошибочно, но не предполагает, что может использоваться другой "алгоритм образования новой записи" и этот "алгоритм" иногда умудряется впихнуть запись вопреки (а точнее - полностью брезгуя) используемую "методику". В итоге: и то, и это - оба варианта правильные. Идентификация каждой записи в совокупности не нарушается. Данные не пропадают. Но индексы падают. Причём здорово так падают! Ка-а-ак заклинит всё, нафик, что аж до консоли сервера дело доходит. Ибо иначе пользователя ну никак не снять.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982083
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey ChПроверьте, чтоб разделы на сервере NOVELL, куда имеют доступ рабочие станции под DOS были МЕНЕЕ 2 (двух) GB !!!

И что это влияет? Или это на пятой нетвари?
У меня стоит 4 разделы два физдиска по 10 гигов сответственно и разделы.
Крутится клиппер индексы летят ( и базы портятся ) с завидной регулярностью под конец года. Сейчас пока нормально с начала года ничего не было.
Мое мнение база большая и индексы, FoxPro досовская просто не справляется .
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982109
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размер раздела значения не имеет!
Поставь на свои "станции под Win'NT-2K" FPD 2.6 и посмотри...
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982152
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedrikРазмер раздела значения не имеет!
Поставь на свои "станции под Win'NT-2K" FPD 2.6 и посмотри...
Речь велась про DOS - там это имеет очень Важное значение... Может просто все зависнуть а может просто часть уйти за 2 GB отрезок и DOS/FPD перестают его видеть - кророче очень много проблем...
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982158
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CruelGenius Sergey ChПроверьте, чтоб разделы на сервере NOVELL, куда имеют доступ рабочие станции под DOS были МЕНЕЕ 2 (двух) GB !!!

И что это влияет? Или это на пятой нетвари?
У меня стоит 4 разделы два физдиска по 10 гигов сответственно и разделы.
Крутится клиппер индексы летят ( и базы портятся ) с завидной регулярностью под конец года. Сейчас пока нормально с начала года ничего не было.
Мое мнение база большая и индексы, FoxPro досовская просто не справляется .
Еще раз повторяю - это относится к рабочим станциям, на которых установлен DOS и FPD !!!

Сам FPD справляется с таблицами до 2 GB без проблем, но вот DOS - вносит очень большие проблемы при работе с сервером у которого раздел более 2 GB...

Решение - убрать DOS (а так-же Win95 без SP) с рабочих станций или сделать ВСЕ видимые серверные разделы менее 2 GB!!!
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982290
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Решение - убрать DOS (а так-же Win95 без SP) с рабочих станций или сделать ВСЕ видимые серверные разделы менее 2 GB!!!
Или подключить DOS-станции через мост, на котором нет больших разделов
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982473
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey ChСам FPD справляется с таблицами до 2 GB без проблем, но вот DOS - вносит очень большие проблемы при работе с сервером у которого раздел более 2 GB...
Рискну быть упрямым!
На протяжении нескольких лет не было замечено никаких проблем при одновременной работе 50-70 DOS-станций + FPD 2.6 с 10-20-30-40-гиговыми нетваревскими разделами!

Считаю, что все гораздо банальнее - паршивая сетка, глючная память... В общем - железо! ;-)
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982527
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redrik Рискну быть упрямым!
У каждого свой опыт... Может у Вас DOS какой-то особой модели (был такой, что видел более 2 GB), но в основном нет...
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982825
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DOS был модели 6.22... ;-)
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982849
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedrikDOS был модели 6.22... ;-)
Как этот DOS мог видеть раздел за пределами 2GB - если он физически не предназначен для этого... Странно все это... У меня были всегда проблемы как только данные начинали записываться куда-то после 2 GB - висла даже иногда вся сеть или обрубались индексы, короче происходили непредсказуемые вещи...
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982914
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DOS, конечно, физически не предназначен ни для чего другого, кроме FAT 12/16 и максимум 2-х гиг на физическом/логическом диске...
И DOS не имеет ни малейшего представления о файловой системе Novell'a...
Чтением/записью на сервере занимается не DOS и поэтому DOS-ограничений на объем тома (!) просто нету...

Пример "посвежее": Win-95 (не OSR2), как и DOS, умеет работать только с FAT16 - соответственно ограничения те же самые. Но при этом ведь нет никаких проблем при подключении такой системы к серверу с большим диском! 95-ый (как и DOS) просто показывают ерунду при попытке посмотреть из них объем большого диска. Других глюков все-таки нету!
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32982995
bobit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор DOS , конечно, физически не предназначен ни для чего другого, кроме FAT 12/16 и максимум 2-х гиг на физическом /логическом диске
Почему? Разве кто-то уже запретил Extended DOS Partition? Или я не понял: к чему тут упоминание "физического диска" ?
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32983071
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Физическом/ логическом "... Мммм... не сетевой... скажем так...
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32985236
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос на засыпку знатокам dbf.
Максимальный размер dbf файла? Для Доса и для винды? Зависит или нет от файловой системы?
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32985294
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набираешь в хелпе "Visual FoxPro System Capacities" и наслаждаешься мощью и ограничениями Фокса.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32986280
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а я про че? какая разница скоко раздел доса, если размер таблицы 1 биллион записей ( миллион или миллиард?) . Может изза этого?
И еще кстати у меня на клиперовской программке портятся записи когда народу сидит порядка 5-6 человек и кто нибудь файл захватит, остатльные этого не знают чел пошел ( чай попить или наоборот отлить ) все остальные спокойно перезагрузили компьютеры. Дальше как повезет могут записи запорятся ну а нарушение целостности данных это уже само собой. Программерам работа, ползатели получают по лицу.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32986344
bobit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А меня, лично, умиляют эти ссылки на предельный размер dbf-файла (2 ГБ) у foxpro. Это только о-о-о-чень великий ум программиста может создать систему, использующую такую таблицу, что она таки может достичь предельного размера. Где? Вы скажите мне в каких таких задачах возможна одна таблица такого объёма? И неужели, если даже такое возможно, нельзя завести другую (вторую) таблицу с данными, и обрабатывать не одну, а две? Это сложно? Может быть. Но легко - только умереть. Вот это, млин, запросто.
И знаете ещё что. Когда разработчик не пожелал потрудится над проблемой человека (а человеку иногда надо и отлить и попить, а не вечно за компом сидеть), то не для человека он сочинял, а ни для кого. Так, отработал по факту, денег взял и был таков. А вы - пользователи - мудохайтесь с тем программистским изобретением как хотите.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32986366
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну до меня она создана клиперовская прога. записей 600 тыс. таблиц штук 60.
Я ИМЕЛ ВВИДУ КОЛ-ВО записей, а не размер таблицы 2 гига.
Еще раз 1 биллион - 1 миллион или 1 миллиард?
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32986633
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Еще раз 1 биллион - 1 миллион или 1 миллиард?
Миллиард - 1'000'000'000
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32986657
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bobitА меня, лично, умиляют эти ссылки на предельный размер dbf-файла (2 ГБ) у foxpro. Это только о-о-о-чень великий ум программиста может создать систему, использующую такую таблицу, что она таки может достичь предельного размера. Где? Вы скажите мне в каких таких задачах возможна одна таблица такого объёма?

Ну... Если допустить, что 1 запись = 128 байт, то всего-то до 16 с половиной миллиончиков записей она может разрастись - и уже достигнет предельного размера.
Если 64 пользователя вводят каждый рабочий день по 512 таких записей каждый, то всего через 512 рабочих дней физический предел будет достигнут.
Примерно за 3 года. Не хватит цельной таблицы, придется ее "партиционировать". А партиционирование - это не штатная фича VFP, его каждый раз надо продумывать и реализовывать заново.
Пример вполне жизненный, и даже несколько облегченный. Это, скажем, журнал транзакций не самого большого склада, с которого торгуют в розницу.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32987549
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Urri!

На самом деле предела по числу записей как такового нет - число в 1 миллиард (а на самом деле немного больше!) вытекает из следующего вырожденного случая - таблица с всего одним полем размером 1 байт (например логическое или C/N(1)) - n/r/ для каждой записи неявно имеется и флаг удаления - получаем что MIN(RECSIZE()) = 2 -> (2GB-HEADER())/2 - 1 миллиард с хвостиком.
Вот что реально ограничивает ЧИСЛО записей - так это выделение под его хранение 4-х байт. т.е. даже если снять ограничение в 2Gb на файл, то тогда появится ограничение в 4млрд. записей (сколько может адресовать DWORD).

P.S. Да, партиционирование это задача не из лёгких - в фоксе тем более.
А размеры базы могут расти и за 100Gb - это нормально.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32987610
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Burn>Еще раз 1 биллион - 1 миллион или 1 миллиард?
Миллиард - 1'000'000'000

Это у нас в россии и в европе биллион - миллиард
Мелкософт - в Америке , там биллион - миллион.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32987611
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А значит в Америке размер dbf файла меньше чем в Европе. В 1000 раз.


Опять же эти данные для VFP. А для клипера версия 5.01 ?
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32987991
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CruelGeniusЭто у нас в россии и в европе биллион - миллиард
Мелкософт - в Америке , там биллион - миллион.
У нас в России и Европе идет - миллион, миллиард - 1000000, 1000000000
В Америке - миллион, биллион - 1000000, 1000000000
Для этого достаточно воспользоватся хотябы русско-английским словарем:
миллиард - billion amer. ; milliard br.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32988109
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Burn CruelGeniusЭто у нас в россии и в европе биллион - миллиард
Мелкософт - в Америке , там биллион - миллион.
У нас в России и Европе идет - миллион, миллиард - 1000000, 1000000000
В Америке - миллион, биллион - 1000000, 1000000000
Для этого достаточно воспользоватся хотябы русско-английским словарем:
миллиард - billion amer. ; milliard br.

Убедил.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32989734
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я рекомендую проверить настройки клиента Netware на Win 2K. (Если это Netware Client 32). Есть там фишки, связанные и с кэшированием, и с блокировками. Я как-то напарывался на странные глюки в совместной работе Win 2K + что-то еще. Отключал все непонятное - ошибки и пропадали :-)
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32991649
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похожая ситуация .
При добавлении новой записи из программы(VFP 8) на клиентской машине в таблицу dbf , созданную в VFP7 , на файлсервере(Win 2000) записи в таблицу не добавлялись и никаких сообщений об ошибке не было. Пользователи стали кричать , что программа перестала работать.
Сделал Append Blank непосредственно из Fox-а – вылезло сообщение об отсутствии памяти на диске.
Вывод: run-time VFP не обрабатывает некоторые состояния. Чтобы отловить все возможные
ошибки, надо смоделировать ситуации , при которых они возникают , из среды разработки.
...
Рейтинг: 0 / 0
Повреждение индексов при многопользовательской работе с dbf-таблицами
    #32996632
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похожая ситуация.
При добавлении новой записи из программы(VFP 8) на клиентской машине в таблицу dbf , созданную в VFP7 , на файлсервере(Win 2000) записи в таблицу не добавлялись и никаких сообщений об ошибке не было. Пользователи стали кричать , что программа перестала работать.
Сделал Append Blank непосредственно из Fox-а – вылезло сообщение об отсутствии памяти на диске.
Вывод: run-time VFP не обрабатывает некоторые состояния. Чтобы отловить все возможные
ошибки, надо смоделировать ситуации , при которых они возникают , из среды разработки.
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Повреждение индексов при многопользовательской работе с dbf-таблицами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]