Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переиндексация.... [Paradox]


Страницы:   1 2

z_1 ©   (2002-06-05 23:25:00) 

Мастера...HELP!!!
Индексные файлы при сбоях могут наворачиватся. Но я нигде не смог найти информацию как они могут востанавливатся

Кто знает, как восстановить индексы у файлов
*.db пожалуйста, откликнитесь.


VICTOR_   (2002-06-06 12:53:00) [1]

Сообщение не выдается, просто закрывается окно.
Далее
VICTOR_ (06.06.02 11:26)
>скопируй *.db, *.px, *.xg? , *.yg? в рабочую программу


z_z   (2002-06-06 12:35:00) [2]

ясно.....

спасибо....
да еще когда сделаешь Save сообщение что все восстановилось будет??


VICTOR_   (2002-06-06 12:31:00) [3]

Таблицу брать не надо, береш только индексы


VICTOR_   (2002-06-06 12:19:00) [4]

С любой копии твоей базы до того как она испортилась


z_z   (2002-06-06 12:16:00) [5]

VICTOR_

Это наверно самый глупый вопрос будет но где взять пустую таблицу??


VICTOR_   (2002-06-06 12:09:00) [6]

С любой, незапорченной береш индексы для своей таблицы(лучше всего с пустой)


z_z   (2002-06-06 11:48:00) [7]

VICTOR_

открыл...



> 3.Если имееш любую копию индексов *.px, *.xg? , *.yg?(незапорченную,
> желательно от пустой базы), то попробуй:


можно абсолютно с любой базы взять..??




VICTOR_   (2002-06-06 11:26:00) [8]

1.С кодировками помогает только резервная копия(по моему опыту)
2.Сначала попробуй найти файлы *.lck на локальных дисках и всех их удали. Возможно, это решит твою проблему.
3.Если имееш любую копию индексов *.px, *.xg? , *.yg?(незапорченную, желательно от пустой базы), то попробуй:
-скопируй файлы *.db, *.px
-подкинь к нему *.xg? , *.yg?(чистые)
- зайди в DATABASE DESKTOP
- открой таблицу File-Open-Table (если файл не открывается, то подкинь чистый *.px и попробуй повторить)
- зайди в меню Table-Restucture
- поставь галочку PackTable
- Save
- Если все успешно, то скопируй *.db, *.px, *.xg? , *.yg? в рабочую программу


z_z   (2002-06-06 11:16:00) [9]

VAleksey

Знаю, нашел какие рухнули....Какие мои дальше действия??

Помогите!


VAleksey   (2002-06-06 08:42:00) [10]

ааа, так ты не знаешь какие индексы рухнули ?
Ну тогда никак. DBD не поможет, но открыть таблицу ты сможешь (без индексов), если выполнишь 1-й пункт VAleksey © (06.06.02 08:37)


VAleksey   (2002-06-06 08:37:00) [11]

короче, щас я немного не в себе сижу > ничего не читал > извините если повторяюсь.
Для *.db нет ничего проще, чем восстановить индексы. Удаляй в БД файлы *.px , и потом восстанавливай индексы тривиальным Table1.AddIndex.
PS
Описание индексов можно хранить во внешней таблице.


Dennn_is   (2002-06-06 08:02:00) [12]

Регенерация индексов таблицы Базы Данных (проверялось только на файлах DBF)
Нужно подключить модули :
DBTables, DB, dbiProcs,DbiErrs,dbiTypes;
Здесь, если NrErr>0 , то вывод на экран сообщения об ошибке (если была ошибка).


function TableRegenIndexes(NrErr : byte;Tbl : TTable) : Boolean;
Var
YesEx,YesAct : byte;
S : String;
Res,Res1 : DBIResult;
CCC : array[0..255] of Char;
begin
YesEx:=0;
if Tbl.Exclusive then YesEx:=1;
YesAct:=0;
if Tbl.Active then YesAct:=1;
Tbl.Active:=FALSE;
Tbl.Exclusive:=TRUE;
Tbl.Active:=TRUE;
Res:=DbiRegenIndexes (Tbl.Handle);
Tbl.Active:=FALSE;
if YesEx<=0 then Tbl.Exclusive := FALSE;
if YesAct>0 then Tbl.Active:=TRUE;

if Res=0 then begin
Result:=TRUE;
end
else begin
if NrErr>0 then begin
Res1:=DbiGetErrorString (Res,CCC);
Str(Res,S);
S:="Ошибка реген.индекс.: "+S+" -> "+StrPAS(CCC)+" для : "+Tbl.TableName;
MessageBeep(mb_IconHand);
MessageDlg(S,mtError,[mbOk],0);
end;
end;
end;


z_z   (2002-06-06 00:47:00) [13]

Anatoly Podgoretsky...

что то я вобще не пойму ничего..((как определить который порушен?
да еще с кодировками проблемы...((


Anatoly Podgoretsky   (2002-06-06 00:40:00) [14]

Пункт Pack Table


Anatoly Podgoretsky   (2002-06-06 00:38:00) [15]

В перестройке порушенных индексов, согласно твоего вопроса, DBD эту функцию делает


z_z   (2002-06-06 00:29:00) [16]

Anatoly Podgoretsky

Извеняюсь за глупый вопрос но в чем заключается ремонт?


Anatoly Podgoretsky   (2002-06-06 00:02:00) [17]

Так тебе не программировать нужно, а ремонтировать.
Запусти Datanbase Desktop


z_z   (2002-06-05 23:53:00) [18]

Anatoly Podgoretsky

я извиняюсь, но в БД я новичок...
испортился один somefile.db и как его востановить я не знаю((
а до завтра нужно...по шеи надают...

даже чем пользоваться не знаю..((
Помогите...плиз..


Anatoly Podgoretsky   (2002-06-05 23:44:00) [19]

Ты хелп и пример смотрел, что в нем непонятно?


z_z   (2002-06-05 23:35:00) [20]

app...

а по подробнее....

у меня есть файл *.db как востановить связи...
если не трудно, что как и куда...

За ранее спасибо...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо