[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem CRC
Nie sadze, ze sie uda. Trzeba raczej wydrukowac zawartosc pol rPos, o ktorych
pisze p. Jusza i starac sie odtworzyc kolejnosc historyczna
definiowania/kasowania/modyfikacji pol na podstawie wartosci rPos. Jest to
jakas droga, ale czy sie uda - nikle szanse wroze.
Marek Prokop
Slawomir Latka/Lub/ComputerLand/PL wrote:
> Skoro tak to czy moja teoria jest słuszna:
> Jeśli mamy tabelę X, która ma n pól w bazie danych,
> i jeśli wygeneruję n df-ek a w każdej z nich będzie df-ka dotycząca tylko
> jednego pola,
> i jeśli napiszę procedurę która przeanalizuje n! kombinacji df-ek,
> a po każdym wczytaniu kombinacji sprawdzę crc z dugą bazą, to jest szansa,
> że trafię na taką kombinację dfek, że zniknie mi problem crc w takiej
> tabeli?
>
> Henryk Jusza <henju@pg.gda.pl>@zeto.bydgoszcz.pl on 2002-04-04 13:11:46
>
> Please respond to progress@zeto.bydgoszcz.pl
>
> Sent by: owner-progress@zeto.bydgoszcz.pl
>
> To: progress@zeto.bydgoszcz.pl
> cc:
> Subject: Re: Problem CRC
>
> Pomocy,
> jestem w trakcie testów bazy Progress 7.3E na serwerze UnixWare (sco unix
> firmy Caldera).
>
> Wciągam df-kę z bazy danych z innego unixa mianowicie Reliant Unix 5.43.
> Po wciągnięciu df-ki w celu wygenerowania bazy wzorcowej, pomiędzy obiema
> bazami
> dalej występują różnice crc. No to usuwam tabelę na UnixWare, w której
> wystąpiła różnica crc
> i wciągam indywidualnego df-a dla tej tabeli, a tu dalej to samo, czyli
> różnica crc.
> Przeglądam w Data Adminitrator problemowe tabele z jednej i drugiej bazy
> na oko wszystko wygląda identycznie!
>
> Pomóżcie, jedynym jakimś sensowym pomysłem jest modyfikacja pola _CRC
> tabeli systemowej _file,
> ale progress pluje sie, że nie można zmieniać wartości pól w tabeli
> systemowej.
>
> Witam !
> Wpadł Pan w pułapkę sporządzoną przez firmę PSC produkujacą Progress'a i
> skrzętnie ukrywaną aż do wersji 9 (jeśli sie nie mylę). W czym rzecz
> Otórz schemat bazy w pliku *.df nie jest pełnym schematem bazy ! W skład
> schematu tablicy wchodzi jeszcze pole: _Field._Field-rPos, którego wartość
> jest brana pod uwagę podczas liczenia CRC schematu tablicy. Jest to
> faktyczne położenie pola w zapisie (rekordzie). Po utworzeniu definicji
> tablicy pola w rekordzie są w takiej kolejności jak wynika to z _Field.
> _Order (jak widzimy je w słowniku bazy na ekranie). Na skutek modyfikacji
> schematu tablicy poprzez dodawanie nowych pól lub też zmianę ich pozycji w
> zapisie _Field._Order ulega zmianie, zaś _Field._Field-rPos nie ulega
> zmianie, bo gdyby zmieniło się, to trzeba by w danej tablicy zmodyfikować
> wszystkie zapisy i porzesuwać pola na ich zmienione miejsce. Niestety, w
> pliku *.df jest tylko wartoś _Field._Order a nie ma _Field._Field-rPos stąd
> plik *.df nie niesie całego schematu. Wartość _Field._Field-rPos
> wprowadzono to dopiero w wersji 9 i nie wiedzieć czemu tylko na żądanie.
>
> Jak z tego wybrnąć ?
> - na nowej bazie powtórzyć wszystkie aktualizacje jej schematu w takiej
> kolejności, jak były robione w starej - jest to mało realne, bo kto
> trzyma
> wszystkie przyrosty schematu i pamięta kolejność, w jakiej były
> wprowadzane
> - jeśli się ma oprogramowanie źródłowe (jawne lub zaszyfrowane) to
> skompilować
> je z nową bazą
> - jeśli nie ma oprogramowania źródłowego, to poprosić producenta, by u
> siebie
> utworzył nową bazę, wciągnął do niej schemat starej bazy poprzez plik
> *.df
> i z taką bazą skompilował oprogramowanie no i dostarczył to
> oprogramowanie
> do Was
>
> Zmiana CRC w definicji tablicy nie jest możliwa i dobrze, bo gdyby udało
> się
> je zmienić metodą "ręczną", to programy i tak by nie działały poprawnie,
> bo próbowałyby dostępu do pól zapisów nie w tych miejscach gdzie one
> występują.
>
> Pozdrawiam,
>
> Henryk Jusza mailto:henju@pg.gda.pl
> -------------------------------------------------
> Ośrodek Informatyczny Politechniki Gdańskiej
> Pracownia Rozwoju Oprogramowania
> tel (058) 347-28-01 fax (058) 347-24-63
>
> ------
> Strona WWW: http://pluton.pol.lublin.pl/pugpl/index.htm
> Obsluga listy: listserv@zeto.bydgoszcz.pl
> Archiwum listy: http://www.zeto.bydgoszcz.pl/progress/index.html
> ------
------
Strona WWW: http://pluton.pol.lublin.pl/pugpl/index.htm
Obsluga listy: listserv@zeto.bydgoszcz.pl
Archiwum listy: http://www.zeto.bydgoszcz.pl/progress/index.html
------