![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как игнорировать ошибку при открытии БД
Do№ © (2002-01-16 22:02:00)При открытии базы данных созданной в клипере возниакет ошибка "индексный файл ненайден или повреждён" При составлении программы при изменении значения Компонента "табле" делфи выводит сообщение что индекс ненайден и предлагает выбор:открыть для чтения, неоткрывать, открыть и detach а при падлючении к базе данных уже откомпилированной программы база просто неоткрывается. Как осуществить етот самый "открыть и detach" в программе.
Anatoly Podgoretsky (2002-01-20 23:35:00) [1]Ну сколько же тебе писать используй DbiRegisterCallBack
Воспользуйся и получишь этот диалог, а при желании обработаешь ошибку в тихую.
Иванов Сергей (2002-01-20 23:08:00) [2]Полностью поддерживаю
Бог мой, да убей ты 28(dec) байт до 0 в dbf-файлах чем хочешь или сможешь и создавай родные для BDE индексы или без них..
Это признак приутствия индексного файла, его и клиппер не всегда верно ставит. Если создавать индексы отдельно то и не ставит.
Вот Вы мне лучше раскажите,что за символ & по смещению 29(dec)?
Do№ (2002-01-20 22:17:00) [3]-Проблемы с досовской кодировкой нет:Все корректно отображается и в репорт выходит без проблем (БДЕ давно настроен).
-Индекс мне ненужен: база слипера используется тока для чтения.
-Дельфовская программа должна работат с данными клиперской и как заметил Anatoly Podgoretsky желательно чтобы и индекс(ссылку на него в DBF)удалялась из делфи.
-== В первом сообщении я попвтался подробно обозначить проблемы но входе дискуссии переключились на проблему с кодировкой.
-== Я использую TDatabase,ТQuery,и остальное...
при изменении параметра Activ компонента Query в objectInspector на true при отсутствии индекса появляется сообщение:"индекс ненайден или поврежден" и выбор :-открыть для чтения, не открывать, open and detach. НО ПРИ РАБОТЕ ОТКОМПИЛИРОВАННОЙ ПРОГРАММЫ ПОЯВЛЯЕТСЯ СООБЩЕНИЕ ЧТО ИНДЕКС НЕНАЙДЕН БАЗА НЕ ОТКРЫТА
++++ КАК ЗАСТАВИТЬ ОТКОМПИЛИРОВАННУЮ ПРОГРАММУ ЗАДАТЬ ВОПРОС: ЧТО ЖЕ ДАЛАТЬ С БАЗОЙ У КОТОРОЙ ОТСУТСТВУЕТ ИНДЕКСНЫЙ ФАЙЛ, ИЛИ СДЕЛАТЬ ОБРАБОТЧИК ЭТОГО СОБЫТИЯ++++
А что за компонент "Аполо" ?
BJValentine (2002-01-20 12:06:00) [4]Do № , не усложняй себе жизнь, работай с DBF файлами как с DBase овскими. Если ты пишешь прогу, которая должна работать дополнительно к Clipper ной проге, то используй компоненту типа Appollo, для того, чтобы она использовала и модифицировала имеющиеся индексы, а если это отдельная програ, без Clipper проги, то ещё проще - создай индекс в Database Desktop и работай с ними. И никуда базу не надо перегонять, чтобы избавиться от ДОС кодировки, достаточно в BDE для DBase баз установить LangDriver= DBase rus cp866. Дерзай.
gorohov (2002-01-20 11:13:00) [5]На http://blackman.km.ru
лежит NStruct 2.5 - открывает перекодирует OEM-WIN
DBF - файлы. Она же грохнет отметку о индексе.
Там и исходники. Описание DBF формата. Если что, пишите в гостевую. Я дальше пошел...
Anatoly Podgoretsky (2002-01-19 21:23:00) [6]Ну если есть фокс и он окрывает эту таблицу, то он спрашивает при открытии без всякой программы, так же кстати поступает и DBD
но ты эе вроде как бы хотел программным путем из Дельфи-программы.
Do№ (2002-01-19 19:30:00) [7]в понедельнтк буду пробовать а пока мне тут подсказали написать на фоксе программу открывающююю все база поочереди (при ошибке индекса ссылка на него вроде удаляется) о результатах в понедельник...
Anatoly Podgoretsky (2002-01-19 10:45:00) [8]Do№ (18.01.02 19:49)
Почему так решил, я бы так не рискнул, из за "драйвер производства неизвестной фирмы" и вероятно это имеено так, судя по описанной тобой ситуации. Вполне возможно, что это формат Клиппер.
Ты по пробовал использовать DbiRegisterCallBack, он специально предназначен для обработки подобных ситуаций, не в пример хакерским методам по убийству "28(dec) байт"
Do№ (2002-01-18 19:49:00) [9]Индексы *.cdx
при создании индексных файлов использовался драйвер производства неизвестной фирмы
базы фокспрошные
Oleg_EM (2002-01-18 13:40:00) [10]2Hawk2 Написано много программ работающих с dbf/ntx
в том числе и базы с > 50 000 записей, индексы и по ФИО и всяка
не было проблем ни с кодировкой ни с сортировкой, базы используются одновременно и Клиппер-приложениями и Дельфи3
(ну нада така пока ;-))
использую Apollo
Hawk2 (2002-01-18 12:13:00) [11]Я тоже работаю с БД которую обрабатывает програмка на Clipper-е но сами файлы БД имеют тип dBASE III+ (разве есть тип БД Clipper?).
TO Oleg_EM:
расширение действительно NTX.
TO Do№:
Проблема с индексами это только цветочки, потом еще будет проблема с кодировкой, так как данные в твоей базе, скорее всего, имеют ДОС-кодировку, а работать ты хочешь в Винде. Дело в том что я сам с этим всем мучался (и с индексами и с кодировкой), так что если таблиц не много то лучше перегони данные из них в другую базу под Винду (например Paradox), потом перекодируй и создавай сколько хош индексов.
Oleg_EM (2002-01-18 11:35:00) [12]2Do№ ты скажи какое расширение у индекных файлов NTX ?
Фэ (2002-01-17 22:55:00) [13]Бог мой, да убей ты 28(dec) байт до 0 в dbf-файлах чем хочешь или сможешь и создавай родные для BDE индексы или без них..
Do№ (2002-01-17 21:04:00) [14]Програмист писавший прогу давно неработает.
имя индекса непоказывает ниодна программа.
При создании базы данных вроде использовался какойто драйвер неизвестного производителя для клипера который добавлял некоторые возможности.
Када делаеш Query.activ:=true в режиме конструктора делфи сообщает что индекснный файл отсутствует или повреждён и даёт возможность :
- открыть для чтения
- не открывать
- open anr detach
как написать чтобы при работе скомпилированной программы она сама делала : "open and detach"? ато просто сообщение выдаёт "немогу открыть индекс отсутствует или повреждён"
Anatoly Podgoretsky (2002-01-17 10:53:00) [15]И также, что за база
Но если нужно то же самое поведение, то надо использовать DbiRegisterCallBack
Desdechado (2002-01-17 10:20:00) [16]индекс-то какой?
Oleg_EM (2002-01-17 09:31:00) [17]или использовать Apollo, Halcyon
они много знают о Clipper ;-)
Фэ (2002-01-16 22:24:00) [18]Не знает ничего BDE o Clipper-е и его индексах.
Лечиться созданием поддерживаемых индексов (DBase,FoxPro).