Форум: "Прочее";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];
ВнизВосстановление БД по индексам? Найти похожие ветки
← →
Сергей М. © (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;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.007 c