Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

индекс пропадает...   Найти похожие ветки 

 
mama   (2002-12-07 07:19) [0]

Люди, помогите!
Есть БД (Paradox на BDE) - в ней таблица - в ней уникальный вторичный индекс...
Индекс уже три раза слетает, и пользователи вводят повторяющиеся записи. А выглядит это так - два раза даже файла на диске не остается. Может BDE "увидев" что индекс порушен сам его чистит?
Вероятность хитрого юзверя крайне мала - нету там таких (хотя может шифруются).


 
RWolf   (2002-12-07 13:24) [1]

Если есть возможность - переведи базу на другой драйвер (dBase,Fox); связка Paradox+BDE глючит основательно. С пропаданием индексов не встречался, а вот записи - исчезали, и автоинкрементные поля глючили (это не только мои наблюдения, уже обсуждалось в форуме).


 
snake1977   (2002-12-07 13:30) [2]

Судя по всему ты пытаешся использовать парадоксовские базы + БДЕ в многопользовательском режиме, т.е. когда с таблицами работают несколько пользователей одновременно! У меня было тоже самое и победить это у меня не получилось :( индексы сыпались на раз-два!
плюс к этому иногда разрушались хидеры таблиц!!!!! а это уже все , типа писец коту ваське ;)
Просто не работай с парадоксом или DBF в многопользовательском режиме.
Могу предложить толко одно решение этой проблемы :)
возьми Interbase, сделай там таблицы точно такие же как и у тебя в парадоксе (можно даже DataPump перегнать вместе с данными)
в своей программе сделай минимум изменений, поставь TDataBase сделай там алиас внутренний такой же как и твой был для баз на парадоксе, а внешний соответственно будет новый.
И собственно говоря все :)
Можеш наслаждаться :)
во первых быстрей, во вторых надежнее!! ;)


 
vmz   (2002-12-09 01:43) [3]

Из опыта:
при запуске программы пусть каждый экземпляр пытается (это удастся только первому) перегенерить индекс...
Остальные его уже не грохнут...


 
VAleksey ©   (2002-12-09 07:58) [4]

Из всех ответов ясно, что друзья так и не разобрались в работе с таблицами по локальной сети через BDE. А свое неумение свалили на глюки BDE.

> во первых быстрей

:))))) как это вы проверели интересно ?
PS
1) BDE Administrator/ Сonfigurations/System/Init/ Local Share = True
2) BDE Administrator/ Сonfigurations/Drivers/Native/Paradox/ NET DIR - должен быть общим (и совпадать по имени) для всех клиентов БД



 
mama   (2002-12-13 07:06) [5]

Ребят, спасибо!

Но, разве можно жить без геморроев!!!
Первый момент, моя прога не дает запускать больше одного экземпляра (в смысле себя), а БД можно открыть только после запуска - вручную.
Второй момент, у клиента всего один комп...
Третий момент, придумал такое решение - работать с транзакцией и внутри которой блокировать доступ ко всем НД в базе, хотя может все зря...
А то в результате дополнительного тестирования на форме ввода данных обнаружил, что при некотором хитром раскладе пользователь в принципе может редактировать одновременно два связанных НД (один из них проблемный). Получается - добавляем дочернюю запись не сохранив родительскую.
А что касается регенерации индекса на входе, уж слишком долго он отрабатывается...

Еще раз всем спасибо...



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-14984
Le!
2002-12-24 06:51
2003.01.06
Помогите с простенькой проблемкой!


1-14972
LORD
2002-12-23 23:16
2003.01.06
как задействовать процедуру объявленную в другом модуле


6-15186
Anar
2002-11-07 18:42
2003.01.06
Опять про MSHTML


14-15311
BF7ru
2002-12-17 17:05
2003.01.06
Siemens sl45i - самый популярный телефон


1-15122
Gari
2002-12-23 10:29
2003.01.06
Каким образом создать виртуальную директорию?