Форум » Clipper » Clipper 5.2e - Ошибка восстановления DBSKIP(0) - DBFNTX/1035 » Ответить

Clipper 5.2e - Ошибка восстановления DBSKIP(0) - DBFNTX/1035

Sergy: Дано: расшаренный каталог с dbf файлами на 2003 сервере. На этом-же сервере поднят терминал. Так вот: все юзеры, работающие с базой "по сети" нормально работают. А вот те, кто входит на сервер через терминал (т.е. у них получается "локальная" база) - "вылеты" с сообщением Ошибка восстановления - DBSKIP(0) Чего это за ошибка вообще такая ? Кроме этого, может быть DBSEEK(0), DBGOTO(0)... вот такие дела... Пока думаю смотреть в сторону "набортного" котнтроллера RAID, работающего в режиме "зеркала". Хотя, когда он работал раньше в режиме STRIPE (больше года) - никаких проблем не было... Сейчас снесли софт и поставили сервер заново, а диски переключили в более "надежный" режим. Куда посоветуете посмотреть ещё ? "Непосредственное", т.е. "физическое" подключение и запуск программы на сервере приводят к такому-же печальному результату - т.е. сам MS-терминал вроде не виноват. Заранее спасибо.

Ответов - 3

petr: Судя по ошибке - время выполнения запроса к диску превышает заданное, то есть терминальная задача - в самом низком приоритете, а обработчик Clipper'a для этой ошибки не переопределен.

Sergy: 1) как переопределить обработчик? Какую-хоть ошибку ждать? Ни кода не нашел, ни описания... 2) почему терминальная задача в низком приоритете ? я пробовал физически, напрямую, с правами админа запускать задачу на сервере - эффект такой-же...

Sergy: Перекинул базу на другой сервер, где вовсе нет никаких RAID-контроллеров - эффект 100% такой-же: программы, работающие "через сеть" - всё нормально, "напрямую" - "Ошибка восстановления" Приоритет программе давал в свойствах ярлыка - 100%, напрямую входил под админом - тоже самое... Чего делать ? --------------------------------------------------------- Дальнейшие поиски по данному направления показали, что "Ошибка восстановления" это "Error recovery failure" - т.е. ошибка в обработчике ошибок. Отключение рекомендуемой в ntxerr.prg ветки вида IF e:errCode == EG_LOCK RETURN .T. ENDI привело к тому, что возникло сообщение об ошибке DBFNTX/1035 - отказ блокировки Копание в "мусорных бачках" на англоязычных форумах привело к пониманию того, что эта проблема возникает в dbfntx драйвере в том случае, если файловым сервером выступает Win2K и ее клоны. Пока помогла "затычка" вот такого рода: ************************************************************************* *** Yura Venik ********************************************** 03-16-02, 22:14 ******************** Modify ErrorSys.prg . Add lines *************************** IF oError:SubSystem == 'DBFNTX' .and. oError:SubCode == 1035; .and. oError:tries < 25 RETURN .T. ENDIF ************************************************************************** Глупо, конечно, но пока ничего другого придумать не смог.




полная версия страницы