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





Пост N: 40
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 05.11.06 03:07. Заголовок: Прога слетает на append и append from


Clipper 5.2e + SixCdx2 + Blinker 7.0 + Protected mode
При достаточно большом количестве добавляемых записей (в интервале 150 - 500, всегда по разному) прога слетает с сообщением типа:

BLX286: 1313: General Protection Fault

либо:

DBSKIP(0) Внутренняя ошибка 1210

Отключаю от базы индексы - и всё прекрасно! Но в том-то всё и дело, что индекс нужен, чтобы не добавить то, что в базе уже есть (идёт проверка DBSEEK())...

Кто-нибудь с таким фокусом сталкивался? Как бороться?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 All [только новые]







Пост N: 48
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 09.11.06 02:02. Заголовок: Ответ SergeJa


SergeJa пишет:

 цитата:
USE qqq.dbf SHARED ALIAS A1
INDEX ON A1->Fld TO qqq.NTX
USE qqq.dbf SHARED ALIAS A2
SET INDEX TO qqq.NTX

Понятно, или надо подробнее?



Ничего не понятно... Одна и та же база, один и тот же индекс... Я говорил о ситуации, когда в двух разных базах (если непонятно - двух разных dbf-файлах) есть поле с одинаковым названием (например, поле NAZV в dbf-файле KNIGY.DBF и поле NAZV в dbf-файле SKLAD.DBF), если делать ключевые выражения без алиасов, то при работе и с одной и с другой базой индексы начинают рушиться.

SergeJa пишет:

 цитата:
цитата:
грохается на индексах, в ключах которых непреобразованные поля

И...?



И ничего пока... Попробовал PADR(), как в первом и четвёртом индексах - не помогло! Может, действительно дело в длине индексной строки? Она получается 90 (NAZV) + 28 (AVTOR) = 118 символов... может, всё нормализуется именно тогда, когда я делаю ширину поля NAZV в базе 70 символов и длина строки получается 98 символов?

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



Пост N: 1
Зарегистрирован: 09.11.06
ссылка на сообщение  Отправлено: 09.11.06 14:40. Заголовок: Юра


Пользуй commit каждые n записей...

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





Пост N: 49
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 11.11.06 01:49. Заголовок: Всем! Всем! Всем!


Путём многочисленных экспериментов выяснил, что Dima был абсоблютно прав - всё дело в длине индексного выражения!
Если длина индексного выражения больше 117, то прога рано или поздно грохается (причём скорее рано, чем поздно :-( В моем примере с длиной индексного выражения 118 по append from вообще ни одной записи принять не удаётся!

armik пишет:

 цитата:
Пользуй commit каждые n записей...



Поэтому разговор об n записях теряет всяческий смысл...

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




Пост N: 464
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.11.06 08:34. Заголовок: Re:


Лукашевский пишет:

 цитата:
Если длина индексного выражения больше 117


У меня падало и при длине 80.......
Решить проблему смог только путем уменьшения длины ключа.

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

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