On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 204
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 08.01.15 11:18. Заголовок: Непонятная ошибка в .CDX индексе


Открываем файл базы и стоим индекс ( .CDX ) :
USE LAN+"DETAL" NEW ALIAS DETAL EXCLUSIVE
INDEX ON CODE TAG CODE TO (LAN+"DETAL") // Код товара
INDEX ON UPPER(TYPE) TAG TYPE TO (LAN+"DETAL") // Наименование
INDEX ON ACODE TAG ACODE TO (LAN+"DETAL") // Код группы аналогов
INDEX ON UPPER(COMMENT) TAG COMMENT TO (LAN+"DETAL") // Описание товара
INDEX ON F1 TAG BRANDS TO (LAN+"DETAL") // Код производителя
--------------------------------------------------------------------------------------------------

Теперь при попытке изменить содержимое поля F1 (Числовое , код производителя)
программа вываливается с ошибкой :

_DBFCDX/8006 Обнаружено разрушение данных : BRANDS

Не могу понять с чем связано . Раньше всё работало отлично , но только добавил строчку :
INDEX ON F1 TAG BRANDS TO (LAN+"DETAL")
так и стало вываливаться .....

В сети - один пользователь .



Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет [см. все]


администратор




Пост N: 4390
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.01.15 11:32. Заголовок: Перед созданием инде..


Перед созданием индекса попробуй его удалить если он есть на диске.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 205
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 08.01.15 11:37. Заголовок: Построение индекса и..


Построение индекса идёт с нуля . Разумеется , старый удаляется , а затем идёт построение нового :)
Причём переключение на этот TAG идёт , и выборка данных работает . А вот с обновлением поля - сразу вываливается ....



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4391
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.01.15 11:40. Заголовок: Softlog86 пишет: А ..


Softlog86 пишет:

 цитата:
А вот с обновлением поля - сразу вываливается ....


После редактирования сделай DBCOMMIT()

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 206
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 08.01.15 11:46. Заголовок: Вываливается ВОВРЕМЯ..


Вываливается ВОВРЕМЯ записи :
RLOCK()

REPLACE F1 WITH NewBrand <------ Обнаружено разрушение данных .....

DBUNLOCK()

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4392
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.01.15 12:29. Заголовок: А если переключится ..


А если переключится на тэг CODE и редактировать поле F1 , тоже упадет ?

PS
А в Harbour падает ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3236
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 08.01.15 12:49. Заголовок: Вот описание этой ош..


Вот описание этой ошибки:

8006: Old key not found

This indicates that a key which should have been in the index was not
found when an update on the index was made.

The most common cause of this error is opening the same index twice.
Specifically, the structural index is automatically opened when the
database is opened. Some developers then explicitly open the index
again with dbSetIndex(). (If you don't want the structural index to be
automatically opened, see cmxAutoOpen()).

Another reason for this error is updating a database without having an
index open, and then later opening that index and further updating the
database (i.e., index out of sync with database).


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3237
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 08.01.15 12:51. Заголовок: Можно еще поискать п..


Можно еще поискать по старым темам в comp.lang.clipper, может кто-то решал подобный вопрос

https://groups.google.com/forum/#!topicsearchin/comp.lang.clipper/8006

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 207
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 08.01.15 12:56. Заголовок: Попробую таким образ..


Попробую таким образом :
1) Нашли нужную запись . R:=RECNO()
2) Переключить активный ТAG на другой .
3) Перейти на запись R
4) редактировать запись
-----------------------------------------------
удалённых записей в этом файле нет .

Но это ерунда какая-то . в этом файле базы работало 15 лет отлично .
Переключались Индексы в любом порядке и ничего не рушилось ...... а тут только попытался добавить новый индекс (ТЭГ) и сразу обломчик .....



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1019
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.01.15 14:30. Заголовок: Подобная тема: http:..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 472
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 09.01.15 13:47. Заголовок: INDEX ON F1 TAG BRAN..



 цитата:
INDEX ON F1 TAG BRANDS TO (LAN+"DETAL")


f1 попробуй преобразовать в строку

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 208
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 10.01.15 13:06. Заголовок: Vlad04 Так и сделал ..


Vlad04 Так и сделал - заработало . Только пришлось по тексту программы менять условия поиска и сравнения ....
Вопрос , почему так происходит ? Может есть ограничение по числу индексов в одном файле ? Хотя у меня есть файлы с 10-ю тэгами - и всё работает ...



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4395
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.01.15 14:38. Заголовок: Softlog86 пишет: Во..


Softlog86 пишет:

 цитата:
Вопрос , почему так происходит ?


Вероятно какой то косяк самого DBFCDX Clipper

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 411
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.01.15 15:23. Заголовок: Softlog86 пишет: _D..


Softlog86 пишет:

 цитата:
_DBFCDX/8006 Обнаружено разрушение данных



здесь уже были попытки разобраться .... основные выводы
1. Глюк CDX
2. Глюк эмуляции DOS из под винды
3. Нехватка оперативы

http://clipper.borda.ru/?1-0-260-00000289-000-10001-0


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 473
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 10.01.15 21:31. Заголовок: С Clipper 5.01 я ис..


С Clipper 5.01 я использовал SIX drv. Он то же не любил числовых индексов. Всегда я их преобразовывал в строку.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 76
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 11.01.15 00:12. Заголовок: А записываемое число..


А записываемое число не превышает размер поля F1 ?
еще у меня падал NTX при ошибке в программе когда изменял поле при Recno()>lastrec()

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4398
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.01.15 00:22. Заголовок: а у меня падало инде..


а у меня падало индексирование на больших базах пока к ключу не добавил str(recno(),12)

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 30
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет