Форум: "Базы";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
ВнизПереиндексация.... Найти похожие ветки
← →
z_1 (2002-06-05 23:25) [0]Мастера...HELP!!!
Индексные файлы при сбоях могут наворачиватся. Но я нигде не смог найти информацию как они могут востанавливатся
Кто знает, как восстановить индексы у файлов
*.db пожалуйста, откликнитесь.
← →
app (2002-06-05 23:28) [1]DbiRegenIndex
← →
z_z (2002-06-05 23:35) [2]app...
а по подробнее....
у меня есть файл *.db как востановить связи...
если не трудно, что как и куда...
За ранее спасибо...
← →
Anatoly Podgoretsky (2002-06-05 23:44) [3]Ты хелп и пример смотрел, что в нем непонятно?
← →
z_z (2002-06-05 23:53) [4]Anatoly Podgoretsky
я извиняюсь, но в БД я новичок...
испортился один somefile.db и как его востановить я не знаю((
а до завтра нужно...по шеи надают...
даже чем пользоваться не знаю..((
Помогите...плиз..
← →
Anatoly Podgoretsky (2002-06-06 00:02) [5]Так тебе не программировать нужно, а ремонтировать.
Запусти Datanbase Desktop
← →
z_z (2002-06-06 00:29) [6]Anatoly Podgoretsky
Извеняюсь за глупый вопрос но в чем заключается ремонт?
← →
Anatoly Podgoretsky (2002-06-06 00:38) [7]В перестройке порушенных индексов, согласно твоего вопроса, DBD эту функцию делает
← →
Anatoly Podgoretsky (2002-06-06 00:40) [8]Пункт Pack Table
← →
z_z (2002-06-06 00:47) [9]Anatoly Podgoretsky...
что то я вобще не пойму ничего..((как определить который порушен?
да еще с кодировками проблемы...((
← →
Dennn_is (2002-06-06 08:02) [10]Регенерация индексов таблицы Базы Данных (проверялось только на файлах 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;
← →
VAleksey (2002-06-06 08:37) [11]короче, щас я немного не в себе сижу > ничего не читал > извините если повторяюсь.
Для *.db нет ничего проще, чем восстановить индексы. Удаляй в БД файлы *.px , и потом восстанавливай индексы тривиальным Table1.AddIndex.
PS
Описание индексов можно хранить во внешней таблице.
← →
VAleksey (2002-06-06 08:42) [12]ааа, так ты не знаешь какие индексы рухнули ?
Ну тогда никак. DBD не поможет, но открыть таблицу ты сможешь (без индексов), если выполнишь 1-й пункт VAleksey © (06.06.02 08:37)
← →
z_z (2002-06-06 11:16) [13]VAleksey
Знаю, нашел какие рухнули....Какие мои дальше действия??
Помогите!
← →
VICTOR_ (2002-06-06 11:26) [14]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:48) [15]VICTOR_
открыл...
> 3.Если имееш любую копию индексов *.px, *.xg? , *.yg?(незапорченную,
> желательно от пустой базы), то попробуй:
можно абсолютно с любой базы взять..??
← →
VICTOR_ (2002-06-06 12:09) [16]С любой, незапорченной береш индексы для своей таблицы(лучше всего с пустой)
← →
z_z (2002-06-06 12:16) [17]VICTOR_
Это наверно самый глупый вопрос будет но где взять пустую таблицу??
← →
VICTOR_ (2002-06-06 12:19) [18]С любой копии твоей базы до того как она испортилась
← →
VICTOR_ (2002-06-06 12:31) [19]Таблицу брать не надо, береш только индексы
← →
z_z (2002-06-06 12:35) [20]ясно.....
спасибо....
да еще когда сделаешь Save сообщение что все восстановилось будет??
← →
VICTOR_ (2002-06-06 12:53) [21]Сообщение не выдается, просто закрывается окно.
Далее
VICTOR_ (06.06.02 11:26)
>скопируй *.db, *.px, *.xg? , *.yg? в рабочую программу
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c