Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие СУБД > Ошибка "Key Violation"


Автор: TaniR 16.6.2005, 16:01
Есть программа, написанная на дельфях, использующая БД Paradox. В базе несколько таблиц, у них определены индексы, вторичные индексы, связи между собой. Эта прога написана давно и вроде никогда нареканий не было. Но тут вдруг при попытке записать в одну из таблиц строку, выскакивает сообщение "Key violation", потом прога виснет и приходится ее закрывать. Но при этом строка в таблицу попадает! Причем удаляется эта строка из программы без проблем. Предполагая, что дело в базе, (а не в проге), что я делала: во-первых, проверила все индексы, упаковала все таблицы - не помогло; во-вторых, удалила все файлы с индексами и связями и перепрописала их заново - не помогло. В чем может быть проблема, подскажите, я уже три дня мучаю эту базу и не могу ничего сделать.

Автор: AntonSaburov 16.6.2005, 16:26
Есть предположение, что может там есть автоинкрементное поле и егопросто сожрали полностью ? Или сама база стала очень большой.

Хотя сложно. Если бы можно было код посмотреть.

Автор: TaniR 17.6.2005, 07:19
Да, там есть автоинкрементное поле, его максимальное значение 277493 - это может быть пределом? Я уже однажды "укорачивала" эту табличку, и это поле начинается теперь с 83010. Может, еще раз укоротить и перенумеровать с 1? Я могу выслать исходники проги (где-то 950 KB), сама база в архиве где-то 1,78 МВ.
Добавлено @ 07:22
Адрес, куда можно выслать код, можно прислать на [email protected]
Добавлено @ 07:23
Адрес, куда можно выслать код, можно прислать на [email protected]

Автор: TaniR 17.6.2005, 11:49
А что за файл с расширением VT?

Автор: Vit 19.6.2005, 14:36
Цитата(TaniR @ 17.6.2005, 02:49)
А что за файл с расширением VT?




Можно удалить

Автор: TaniR 20.6.2005, 10:15
Я его, конечно, могу удалить, но что за информация там хранится или почему он у меня возник? (в файле .VT)

Автор: Vit 20.6.2005, 14:58
Какие-то файлы которые создаёт парадокс когда в нём открывают таблицу, если мне память не изменяет, он содерджит инфу о ширине колонок и позиции на экране табличного грида в парадоксе и т.п.

Автор: Dinisssimo 11.4.2006, 13:09
У меня эта ошибка пропала после того как я проверил БД с помощью Pdxrbld.exe+TUTIL32.DLL

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)