Форум: "Базы";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
Внизиндекс пропадает... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c