Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.17;
Скачать: CL | DM;

Вниз

Восстановление БД по индексам?   Найти похожие ветки 

 
Сергей М. ©   (2009-03-10 13:59) [40]


> если, например, full text индекс был построен?


Если бы да кабы)

Ну если full text и не по функциональному выражению, то такое поле восстановить в оригинале, конечно, можно


> И, например, целочисленные данные можно со 100% точностью
> восстановить, верно?


Верно, но опять же если индек был построен по оригинальному значению, а не по функц.выражению, оперирующему в кач-ве аргумента ориг.значением


 
Сергей М. ©   (2009-03-10 14:02) [41]


> KSergey


Может человек долговую амбарную книгу восстанавливать взялся и ему за это процент с каждой восстановленной записи обещяли ?)


 
бедолага   (2009-03-10 14:03) [42]

короче наткнулся на вот эту технологию: http://club.shelek.ru/viewart.php?id=132  надеюсь чего нибудь получится...


 
AndreyV ©   (2009-03-10 14:16) [43]

> [39] AndreyV ©   (10.03.09 13:54)
> В 1С, насколько знаю, все поля символьные, и ИД типа "  
> adg123hjk  ", не суть важно.

Из файла 1Cv7.DD

#===============================================================================
#==TABLE no 26     : Справочник Договоры
# Name    |Descr                         |Type[A/S/U]|DBTableName|ReUsable  
T=SC204   |Справочник Договоры           |A          |SC204      |1        
#-----Fields-------
# Name      |Descr               |Type|Length|Precision
F=ID        |ID object           |C   |9     |0        
F=PARENTID  |ID parent obj       |C   |9     |0        
F=CODE      |object code         |C   |8     |0        
F=DESCR     |object description  |C   |50    |0        
F=PARENTEXT |Parent in other tabl|C   |9     |0        
F=ISFOLDER  |Flag - Is Line - Fol|N   |1     |0        
F=ISMARK    |Flag Object is Marke|C   |1     |0        
F=VERSTAMP  |Version stamp       |C   |6     |0        
F=SP668     |(P)ВалютаВзаиморасче|C   |9     |0        
F=SP1948    |(P)ТипЦен           |C   |9     |0        
F=SP1920    |(P)Скидка           |C   |9     |0        
F=SP870     |(P)ГлубинаКредита   |N   |5     |0        
F=SP2285    |(P)СуммаКредита     |N   |16    |2        
F=SP4764    |(P)НеКонтролироватьК|N   |2     |0        
#----Indexes------
# Name     |Descr         |Unique|Indexed fields                                              |DBName    
I=IDD      |of ID         |0     |ID                                                          |IDD        
I=PCODE    |of PARENT and |0     |PARENTEXT,PARENTID,ISFOLDER,CODE(UPPER)                     |PCODE      
I=PDESCR   |of PARENT and |0     |PARENTEXT,PARENTID,ISFOLDER,DESCR(UPPER)                    |PDESCR    
I=CODE     |of CODE       |0     |CODE(UPPER)                                                 |CODE      
I=DESCR    |of DESCR      |0     |DESCR(UPPER)                                                |DESCR      
#

Из Фокса для PCODE
PARENTEXT+PARENTID+STR(ISFOLDER,1)+UPPER(CODE)
ещё и FOR
.NOT.DELETED()


 
Anatoly Podgoretsky ©   (2009-03-10 14:21) [44]

> It"s me  (10.03.2009 13:46:36)  [36]

Да ну, например I*Rnd


 
Anatoly Podgoretsky ©   (2009-03-10 14:22) [45]

> KSergey  (10.03.2009 13:52:38)  [38]

И так за семь лет, по многомиллионной таблице.
Но ведь все равно придется :-(.


 
Anatoly Podgoretsky ©   (2009-03-10 14:23) [46]

> Сергей М.  (10.03.2009 14:02:41)  [41]

Или не вырывать волосенки по одной.


 
AndreyV ©   (2009-03-10 14:28) [47]

> [45] Anatoly Podgoretsky ©   (10.03.09 14:22)
> > KSergey  (10.03.2009 13:52:38)  [38]
>
> И так за семь лет, по многомиллионной таблице.
> Но ведь все равно придется :-(.

Судя по структуре - придётся всё восстанавливать вручную, ну может целостность удастся выудить из связных таблиц и индексов.


 
Сергей М. ©   (2009-03-10 14:30) [48]


> не вырывать волосенки по одной


Одним словом - мартышка и очко


 
бедолага   (2009-03-10 14:31) [49]


> KSergey

Ну к этому, видимо, и приду.
Насколько понял ID полей уникальны, ссылки на эти поля остались нетронутыми, стало быть можно наполнить таблицу договоров заново, подставляя вместо вновь созданного ID тот, на который указывает ссылка, тогда все должно заработать.

Теоретически можно написать обработку, которая и произведет заполнение таблицы новыми записями.

Может кто-то имеет возможность готовую обработку, для подобной ситуации скинуть?


 
AndreyV ©   (2009-03-10 14:38) [50]

> [49] бедолага   (10.03.09 14:31)
> Может кто-то имеет возможность готовую обработку, для подобной
> ситуации скинуть?

INSERT INTO ДОГОВОРЫ (ID) SELECT ID FROM КОНТРАГЕНТЫ GROUP BY ID


 
AndreyV ©   (2009-03-10 14:45) [51]

> [50] AndreyV ©   (10.03.09 14:38)
> INSERT INTO ДОГОВОРЫ (ID) SELECT ID FROM КОНТРАГЕНТЫ GROUP
> BY ID

Не "Контрагенты", а "заказы" какие-нибудь и прочее

INSERT INTO ДОГОВОРЫ
 (ID_контрагент, ID_договор)
SELECT ID_контрагент, ID_договор
FROM заказы
GROUP BY ID_контрагент, ID_договор


 
Desdechado ©   (2009-03-10 15:33) [52]

Вот я не помню точно, но есть подозрения, что записи, помеченные на удаление в DBF, также индексируются, но при этом в индексном файле нет отметок об удаленности.


 
AndreyV ©   (2009-03-10 16:03) [53]

> [52] Desdechado ©   (10.03.09 15:33)
> Вот я не помню точно, но есть подозрения, что записи, помеченные
> на удаление в DBF, также индексируются, но при этом в индексном
> файле нет отметок об удаленности.

Ну да. В условии индекса ставят выражение
for !deleted()
для удобства и скорости.


 
blackman ©   (2009-03-10 20:53) [54]

Может быть поможет

Формат DBF. Формат индексов CDX IDX. Структура файла memo в системе FoxBASE+ (типа .DBT). Unit обработки данных на языке Pascal
http://articles.org.ru/docum/dbfbase.php

Однако я бы не взялся за это :)



Страницы: 1 2 вся ветка

Текущий архив: 2009.05.17;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.012 c
2-1238737468
Roman88
2009-04-03 09:44
2009.05.17
Функция FileSize


15-1237197118
Немо2
2009-03-16 12:51
2009.05.17
Что имеется ввиду?


2-1238587245
Xmen
2009-04-01 16:00
2009.05.17
Delphi+FireBird Book


15-1236052367
RGV
2009-03-03 06:52
2009.05.17
запретить бразузерам выходить на определенные сайты


15-1236707812
PEAKTOP
2009-03-10 20:56
2009.05.17
Семинар по Delphi2009 в Москве и Питере