Zastosowanie poleceń Microsoft Access do replikacji

Za pomocą polecenia Replikacja z menu Narzędzia Microsoft Access 97 można tworzyć podczas pracy wzorce baz danych i ich repliki.


Zastosowanie poleceń Microsoft Access do replikacji

W programie Microsoft Access 97 można też tworzyć częściowe repliki za pomocą metod i właściwości Data Access Objects (DAO) (opisanych w Pomocy dla Microsoft Access 97). Więcej informacji na temat częściowych replik i narzędzi do ich tworzenia znajduje się w części Technical Information na stronach Microsoft Access Developer Forum Web pod adresem http://www.microsoft.com/accessdev/.


Za pomocą polecenia Synchronizuj teraz można wymieniać informacje między elementami zestawu replik. Elementy te mogą się znajdować na tym samym komputerze, na innych komputerach w sieci lub też w Internecie.


Za pomocą polecenia Twórz replikę można utworzyć replikę bazy danych, w której się pracuje. Jeśli ta baza nie jest wzorcem, program Microsoft Access automatycznie dokona konwersji.


Za pomocą polecenia Usuń konflikty można porównać dwa elementy zestawu replik, w których wystąpiły konflikty. Konflikty mogą się pojawić po synchronizacji elementów zestawu. Na przykład w obu replikach zmieniły się te same wiersze od czasu ostatniej synchronizacji. Można wówczas zadecydować, które zmiany należy zachować.


Polecenie Odtwórz wzorzec pozwala zamienić inną replikę we wzorzec, jeśli bieżący wzorzec został uszkodzony.


Do tworzenia podzbiorów danych - replik częściowych - stosuje się filtry nakładane na replikowaną bazę danych.


Synchronizacja replik częściowych, zamiast całych replik, przyspiesza synchronizację. Oszczędność czasu zależy od tego, ile danych znajduje się w częściowej replice.


Częściowe repliki przydają się tym, którzy nie muszą mieć do czynienia z całą bazą danych. Można im w ten sposób udostępnić tylko te dane, których potrzebują.


Zastosowanie Aktówki do replikacji

Za pomocą metody Aktówka można przeciągnąć bazę danych Microsoft Access ze współużytkowanego foldera w sieci firmy do ikony Moja Aktówka w komputerze przenośnym. Baza danych zostaje zamieniona we wzorzec, a w Aktówce powstaje jej replika. Po ponownym włączeniu komputera przenośnego do sieci w biurze można zsynchronizować zmiany wprowadzone w replice i we wzorcu w firmie. Obie bazy danych wymienią między sobą zmienione dane.


Zastosowanie Aktówki do replikacji

W wyniku przeciągnięcia pliku bazy danych do Aktówki tworzony jest zestaw replik. Elementami tego zestawu są baza danych po konwersji - czyli wzorzec - i jego replika. Obie są elementami tego samego zestawu replik, można je więc synchronizować ze sobą.


Aktówka ułatwia aktualizację (czyli synchronizację) plików, kiedy używa się dwóch komputerów. Jeśli na komputerze jest zainstalowany program Aktówka, to na pulpicie widnieje ikona Moja Aktówka. Więcej informacji na temat Aktówki i jej instalacji, jeśli nie jest zainstalowana na komputerze, można znaleźć w indeksie sieciowym pod hasłem "Aktówka, informacje" albo uzyskać od Kreatora odpowiedzi.


Kiedy przeciąga się bazę danych z pulpitu do ikony Moja Aktówka, najpierw pojawia się wezwanie, żeby zrobić kopię zapasową oryginalnej bazy danych. Następnie plik widoczny na pulpicie przekształcany jest we wzorzec.

Podczas konwersji do nowego wzorca dodawane są specjalne tablice, kolumny i właściwości. Plik bazy danych w Mojej Aktówce jest repliką.


Dobrze jest zsynchronizować dane we wzorcu lub replice tuż przed drukowaniem raportu albo zaraz po wprowadzeniu zmian w strukturze wzorca.

Do synchronizacji elementów zestawu replik służą polecenia w menu Aktówka.


Jeśli używa się Aktówki do przechowywania tylko głównej bazy danych i jej wersji "na wynos", to zestaw replik może zawierać tylko wzorzec i jedną replikę. Jeśli wielu użytkowników w biurze zrobi repliki bazy danych przechowywanej na serwerze w sieci, to zestaw może zawierać znacznie większą liczbę replik.


Wybór narzędzia do replikacji bazy danych

Do replikacji i synchronizacji baz danych można używać czterech różnych narzędzi:

•	Program Aktówka stanowi wygodne narzędzie do aktualizacji bazy danych. Można na przykład plik znajdujący się w komputerze biurowym przeciągnąć do ikony Moja Aktówka w komputerze przenośnym i utworzyć w ten sposób replikę. Więcej informacji można uzyskać klikając  [image].

•	Polecenia podmenu Replikacja z menu Narzędzia programu Microsoft Access pozwalają na tworzenie replik ich synchronizację (lub synchronizację  replik częściowych) podczas pracy w programie Microsoft Access. Więcej informacji na ten temat można uzyskać klikając  [image].

•	Obiekty Data Access (DAO) obejmują metody i właściwości pozwalające programistom na programową replikację i synchronizację baz danych, włącznie z wykonaniem replik częściowych. Więcej informacji na ten temat można uzyskać klikając  [image].

•	Microsoft Replication Manager (Menedżer replikacji) jest wielofunkcyjnym narzędziem do zarządzania replikami, dokonywania synchronizacji planowanej i przeglądania zestawu replik. Znajduje się w pakiecie Microsoft Office 97, Developer Edition. Więcej informacji na ten temat można uzyskać klikając  [image].


Microsoft Replication Manager (Menedżer replikacji)

Aplikacja Microsoft Replication Manager służy do:

•	Zarządzania dużą liczbą replik.

•	Obsługi użytkowników komputerów przenośnych, którzy nie zawsze są podłączeni do sieci.

•	Łatwego tworzenia replik wielu baz danych.

•	Ustawiania planów synchronizacji elementów zestawu replik.

•	Rozwiązywania problemów.

Aplikacja Replication Manager stanowi wizualny interfejs pomagający w określaniu wzorców, tworzeniu replik, przeglądaniu relacji między elementami zestawu replik i ustawianiu właściwości replik.


Tworzenie repliki bazy danych

1	Otwórz bazę danych, którą chcesz replikować. Jeśli pracujesz w środowisku wielodostępnym, upewnij się, że żaden z innych użytkowników nie otworzył tej bazy danych.

Ważne   Przed replikacją bazy danych należy przeczytać o zmianach, jakie powstają w bazie danych podczas replikacji. Aby uzyskać te informacje, kliknij [image].

2	Jeśli baza danych jest chroniona hasłem, usuń to hasło.

Jak?

3	W menu Narzędzia wybierz polecenie Replikacja, a nastepnie polecenie Utwórz Replikę.

4	Kliknij przycisk Tak na pytanie, czy chcesz zamknąć bazę danych.

5	Kliknij przycisk albo Tak, albo Nie (zaleca się Tak) na pytanie, czy chcesz zrobić zapasową kopię bazy danych (to pole dialogowe wyświetla się tylko wtedy, kiedy bazę danych trzeba przed replikacją przekształcić we wzorzec).

6	W oknie dialogowym Lokalizacja nowej repliki podaj miejsce, w którym ma się znaleźć nowa replika.

7	Kliknij przycisk OK.


Tworzenie repliki bazy danych za pomocą Aktówki

1	Upewnij się, że na komputerze jest zainstalowana Aktówka. Jeśli tak, to na pulpicie Windows znajduje się ikona Moja Aktówka.

Jeśli Aktówka nie jest zainstalowana, należy wykonać następujące czynności:

•	Kliknij przycisk Start systemu Windows, wybierz opcję Ustawienia, wybierz opcję Panel sterowania, kliknij Dodaj/Usuń programy, kliknij kartę Instalator Windows, a potem dwukrotnie kliknij opcję Akcesoria. Potem postępuj według instrukcji pojawiających się na ekranie.

•	Aby zainstalować Aktówkę, należy uruchomić program Microsoft Access Instalator. Więcej informacji na ten temat można uzyskać klikając  [image].

2	Jeśli baza danych chroniona jest hasłem, należy usunąć to hasło.

  	Jak?

3	Za pomocą programu Eksplorator Windows wybierz folder, w którym znajduje się baza danych Microsoft Access.

4	Przeciągnij plik bazy danych do ikony Moja Aktówka na pulpicie Windows.

Ważne   Przed replikacją bazy danych należy przeczytać o zmianach, jakie powstają w bazie danych podczas replikacji. Aby uzyskać te informacje, kliknij  [image].


Synchronizacja z innym elementem zestawu replik

Synchronizacja jest procesem aktualizacji dwóch elementów zestawu replik przez wymianę wszystkich uaktualnionych rekordów i obiektów w obydwu elementach zestawu. Dwa elementy zestawu replik są zsynchronizowane, gdy zmiany wprowadzone w każdym z nich zostały uwzględnione w drugim.

1	Otwórz element zestawu replik, który chcesz synchronizować.

2	W menu Narzędzia wybierz polecenie Replikacja, a następnie polecenie Synchronizuj. (Jeśli którykolwiek element zestawu replik jest zarządzany przez program Synchronizator w Internecie, pojawi się dodatkowe pole dialogowe, które pozwoli wybrać, czy chce się synchronizować tę bazę z elementem znajdującym się w sieci lokalnej, rozległej czy w Internecie.)

3	Wpisz ścieżkę i nazwę pliku elementu zestawu replik, który ma być synchronizowany z aktualną bazą danych.

4	Jeśli baza danych jest wzorcem i należy wykonać jeszcze jedną replikę tego wzorca, należy zaznaczyć pole wyboru Przekształć 'nazwapliku' na wzorzec. (Ta opcja nie jest dostępna, jeśli którakolwiek z synchronizowanych replik jest repliką częściową.)

5	Kliknij przycisk OK.

6	Na pytanie czy chcesz zamknąć i ponownie otworzyć bazę danych, kliknij przycisk Tak. (Jeśli wybierzesz przycisk Nie, możesz nie zobaczyć wszystkich zmian.)


Synchronizacja repliki za pomocą Aktówki

Synchronizacja jest procesem aktualizacji dwóch elementów zestawu replik przez wymianę wszystkich uaktualnionych rekordów i obiektów w obydwu elementach zestawu. Dwa elementy zestawu replik są zsynchronizowane, gdy zmiany wprowadzone w każdym z nich zostały uwzględnione w drugim.

1	Kliknij ikonę Moja Aktówka, a potem kliknij nazwę pliku bazy danych.

2	W menu Aktówka kliknij polecenie Aktualizuj zaznaczenie.

3	Kliknij przycisk Aktualizuj w oknie dialogowym Aktualizuj: Moja aktówka, żeby Aktówka wymieniła zmiany między replikami.


Odtworzenie wzorca

W razie utraty lub zniszczenia pliku, który został przeniesiony lub uszkodzony, wzorzec można odtworzyć. Opcja ta nie jest jednak dostępna, jeśli aktualnie otwarta replika jest repliką częściową. Informacje na temat przenoszenia wzorca można uzyskać klikając [image].

1	Upewnij się, czy w zestawie replik nie ma wzorca.

2	Otwórz replikę, która ma być nowym wzorcem.

3	W menu Narzędzia wybierz polecenie Replikacja, a następnie polecenie Synchronizuj.

4	Kliknij replikę na liście, a potem kliknij przycisk OK.

5	Powtarzaj kroki od 2 do 4 tyle razy, ile potrzeba, aby przeprowadzić synchronizację z pozostałymi replikami w zestawie.

Ważne   Pamiętaj, żeby przeprowadzić synchronizację ze wszystkimi innymi replikami w zestawie.

6	W menu Narzędzia wybierz polecenie Replikacja, a następnie polecenie Odtwórz wzorzec.

7	Kliknij przycisk Tak.


Usuwanie konfliktów synchronizacji między elementami zestawu replik

Konflikt występuje, jeśli nastąpiła zmiana danych w tym samym rekordzie dwóch replik, które były synchronizowane.

1	Otwórz bazę danych, w której chcesz sprawdzić konflikty.

2	Zaznacz kartę z konfliktami, otwórz menu Narzędzia, wybierz polecenie Replikacja, a następnie wybierz polecenie Usuń konflikty.

3	Jeśli wystąpiły konflikty, pojawi się pytanie, czy chcesz je usunąć. Kliknij przycisk Tak.

4	Dla każdego konfliktowego rekordu, usuń konflikt klikając przycisk Zachowaj istniejący rekord lub Zastąp konfliktowym rekordem.

Uwaga   Jeśli przenosi się lub usuwa replikę, można utracić konfliktowe rekordy. Przed usunięciem lub przeniesieniem repliki należy sprawdzić, czy występują w niej konflikty.


Tworzenie nowego wzorca z repliki

1	Upewnij się, że nikt inny nie korzysta z repliki ani wzorca.

2	Otwórz replikę z której chcesz zrobić nowy wzorzec

3	W menu Narzędzia wybierz polecenie Replikacja, a następnie wybierz polecenie Synchronizuj.

4	Zaznacz bieżący wzorzec jako ten element zestawu, z którym chcesz synchronizować replikę.

5	Zaznacz pole wyboru Przekształć 'nazwapliku' na wzorzec.

6	Kliknij przycisk OK.


Tworzenie zwykłej bazy danych z replikowanej bazy danych

Po zamianie bazy danych we wzorzec nie można jej przywrócić poprzedniego statusu i zamienić z powrotem w zwykłą bazę danych. Jeśli jednak nie chce się już korzystać z replikacji i dąży się do zmniejszenia rozmiarów replikowanej bazy danych, można utworzyć nową, zwykłą bazę danych zawierającą wszystkie obiekty i dane z replikowanej bazy danych, ale bez dodatkowego systemu pól, tabel i właściwości związanych z replikowaniem.

Uwaga   Dla każdej tabeli w nowej bazie danych należy utworzyć taki sam indeks, jak używany w tabeli repliki. Jeśli podstawowym kluczem jest  s_GUID (i odwołują się do niego obce klucze w innych tabelach), to pole s_GUID będzie potrzebne w nowej tabeli. Jeśli pole s_GUID nie jest wykorzystywane jako podstawowy klucz, to nie ma powodu, żeby zachować je w nowej tabeli. Pól s_Lineage i s_Generation nie należy kopiować do nowej tabeli.

1	Utwórz nową bazę danych i otwórz ją.

2	W menu Plik wybierz polecenie Pobierz dane zewnętrzne, a następnie wybierz polecenie Importuj.

3	Kliknij replikę zawierającą obiekty, których będziesz potrzebować w zwyczajnej bazie danych, a a następnie wybierz polecenie Importuj.

4	Kliknij te obiekty bazy danych — poza tabelami — które mają być importowane do nowej bazy danych.

5	Kliknij przycisk OK żeby importować te obiekty.

6	W nowej bazie danych dla każdej tabeli z repliki utwórz kwerendę, która pobierze dane ze starej tabeli i umieści w nowej.

  	Jak?

7	Dla każdej tabeli w nowej bazie danych utwórz taki sam indeks, jaki był używany w tabeli repliki.

  	Jak?

8	Dla każdej tabeli w nowej bazie danych utwórz relacje, które istniały dla tej tabeli w replice.

  	Jak?

9	Zapisz nową bazę danych.


Zabezpieczenie zreplikowanej bazy danych

Aby zabezpieczyć zreplikowaną bazę danych, można ustawić uprawnienia dostępu do zreplikowanych obiektów tej bazy. Te uprawnienia nie będą przeszkadzały w synchronizacji bazy. Do zabezpieczenia nie można jednak użyć hasła. Baza danych chroniona hasłem nie może być replikowana, nie można też przydzielić hasła replikowanej bazie danych.

Replikę można też trzymać w odrębnym katalogu, który nie jest współużytkowany i stosować synchronizację pośrednią (za pomocą programu Microsoft Replication Manager). Jeśli konieczna jest synchronizacja bezpośrednia, to należy tak ustawić uprawnienia dostępu do udziału, w którym znajduje się replika, żeby dostęp do niej był ograniczony tylko do określonych użytkowników. Nie należy umieszczać repliki w udziałach przeznaczonych tylko do odczytu, bo nie dojdzie do zsynchronizowania jej z innymi elementami zestawu replik.


Usuwanie repliki z zestawu replik

1	Za pomocą programu Eksplorator Windows znajdź replikę, którą chcesz usunąć.

2	Kliknij replikę przeznaczoną do usunięcia, i naciśnij klawisz DEL.

3	Z innego elementu zestawu replik spróbuj zsynchronizować usuniętą replikę. (W ten sposób do innych elementów zestawu dotrze informacja o usunięciu repliki.)

Uwaga   Nie można usuwać wzorca dla  zestawu replik, jeśli wzorzec nie przestał funkcjonować. Usunięcia wzorca uniemożliwi zmianę struktury bazy danych. Oprócz tego warto sprawdzić, czy w usuwanej replice nie występują konflikty. Jeśli są, to podczas usuwania (lub przenoszenia) repliki straci się wszelki zapis na temat konfliktów.


Konwersja zestawu replik do standardu Microsoft Access 97

Aby dokonać konwersji repliki utworzonej w systemie Microsoft Access 95 tak, by można jej było używać w systemie Microsoft Access 97, należy ją zsynchronizować z poddanym konwersji wzorcem. (Nie można dokonać bezpośredniej konwersji repliki za pomocą polecenia Konwertuj bazę danych.) Aby konwersja doszła do skutku, wszystkie elementy zestawu replik muszą działać na komputerach, na których jest zainstalowany system Microsoft Access 97.

Uwaga   Replikę z systemu Microsoft Access 95 można uruchomić tak, żeby działała pod systemem Microsoft Access 97. Jeśli otworzyło się w Microsoft Access 97 odpowiednio włączoną replikę z systemu Microsoft Access 95 i jest jakaś rozpoczęta synchronizacja, to ta synchronizacja nie nastąpi. Pojawi się ostrzeżenie, że rozpoczęto synchronizację, która nie może być dokończona, dopóki ta replika nie będzie otwarta i zsynchronizowana za pomocą Microsoft Access 95.

Podczas konwersji zestawu replik trzeba zachować ostrożność. Ta procedura pozwala na przetestowanie tymczasowego drugiego zestawu replik, zanim nie przeznaczy się oryginalnego zestawu do konwersji.

Uwaga   Ważne jest, żeby nie synchronizować próbnego wzorca i replik z elementami roboczego zestawu replik. W danych i strukturze roboczego zestawu mogą wówczas wystąpić nieprzewidziane zmiany.

1	Zrób kopię bieżącego wzorca (utworzonego w systemie Microsoft Access 95) i umieść tę kopię na innym komputerze lub całkowicie odizoluj od wszelkich innych elementów zestawu replik.

2	W systemie Microsoft Access 95 zrób odizolowaną kopię nowego wzorca wybierając polecenie Replikacja w menu Narzędzia, a następnie wybierz polecenie Odtwórz wzorzec.

3	Utwórz kilka replik w oparciu o nowy wzorzec.

4	W menu Narzędzia wybierz polecenie Narzędzia bazy danych, a następnie wybierz polecenie Konwertuj bazę danych, aby dokonać konwersji nowego wzorca w bazę danych Microsoft Access 97.

5	Zsynchronizuj nowy wzorzec z nowo powstałymi replikami.

6	Przeprowadź wszelkiego rodzaju testy.

Jeśli chcesz zmienić jakieś obiekty, możesz wprowadzić zmiany w oryginalnym wzorcu po konwersji albo przechowywać jego kopię dość długo, żeby importować z niej zmienione obiekty.

7	Kiedy już kopia działa jak należy, usuń nowy wzorzec i wszystkie jego repliki. Upewnij się, czy wszyscy użytkownicy, którzy będą korzystać ze wzorca i replik mają zainstalowany program Microsoft Access 97.

8	Dokonaj konwersji oryginalnego wzorca do standardu Microsoft Access 97 i zsynchronizuj z oryginalnymi replikami.

Zsynchronizowanych replik nie da się już otworzyć w programie Microsoft Access 95. Po otwarciu replik w programie Microsoft Access 97, będą one całkowicie skonwertowane.


Uwagi dotyczące wprowadzania zmian w projekcie replikowanej bazy danych

•	Przed wprowadzeniem zmian w projekcie zsynchronizuj wszystkie repliki w zestawie replik.

•	Sprawdź wszystkie repliki, żeby upewnić się, czy nazwa wybrana dla nowego pola lub obiektu nie pokrywa się z istniejącą już nazwą obiektu lokalnego. (Jeśli wybierzesz taką samą nazwę, nazwa obiektu lokalnego zostanie zmieniona.)

•	Nie twórz relacji między tabelami, kiedy zamierzasz replikować niektóre z nich, a inne zachować jako lokalne.

•	Upewnij się, czy liczba bajtów jaką dodajesz do pola albo liczba pól jakie dodajesz do rekordu nie przekracza górnych limitów dla replikowanej bazy danych. Aby uzyskać więcej informacji na temat ograniczenia rozmiarów replikowanej bazy danych, kliknij  [image].

•	Jeśli korzystasz z tabel połączonych, pamiętaj o tym, że połączone tabele nie są automatycznie replikowane. Jeśli tworzysz połączoną tabelę we wzorcu, to jest ona tworzona jako obiekt lokalny i pozostanie taka, dopóki nie zmienisz jej na tabelę replikowalną. Kiedy tabela staje się replikowalna, jej połączenia jak i sama tabela przesyłane są do wszystkich replik zestawu. Kiedy tabela pojawi się w każdej replice, możesz zmienić połączenia w każdej replice z osobna lub we wzorcu nie wpływając na inne elementy zestawu replik. Aby odświeżyć połączenie we wszystkich elementach zestawu replik, zmień replikowalną połączoną tabelę w tabelę lokalną (we wzorcu), odśwież połączenia i zmień tabelę z powrotem na replikowalną.


Zmiany wprowadzone w bazie danych podczas replikacji

Podczas replikacji bazy danych Microsoft Access aparat bazy danych Microsoft Jet dokonuje w niej rozmaitych zmian.

Informacje o zmianach w bazie danych

Pola dodawane do tabel w bazie danych podczas replikacji

Tabele dodawane do bazy danych podczas replikacji

Właściwości dodawane do bazy danych podczas replikacji

Zmiana funkcjonowania pól typu Autonumer podczas replikacji

Ograniczenia wielkości dotyczące replikowanej bazy danych


Pola dodawane do tabel podczas replikacji

Podczas replikacji bazy danych program Microsoft Access dodaje do każdej replikowanej tabeli w bazie danych nowe pola systemowe:

Pole	Opis
s_GUID	Unikatowy identyfikator globalny dla każdego rekordu.
s_Lineage	Pole binarne, które zawiera informacje o historii zmian wprowadzanych w każdym rekordzie.
s_Generation	Pole zawierające informacje na temat grup zmian.
Uwagi

•	Do każdego pola typu Memo lub typu obiekt OLE w tabeli dodawane są dodatkowe pola (nazwane Gen_Nazwapola).

•	Pola systemowe s_GUID, s_Lineage, i s_Generation są obiektami systemowymi, które mogą być widoczne w tabelach lub nie. Aby pola te były widoczne w replikowanych tabelach, należy kliknąć polecenie Opcje w menu Narzędzia, kliknąć kartę Widok, a potem zaznaczyć pole wyboru Obiekty systemowe. Potem można otworzyć replikowaną tabelę, żeby obejrzeć dodane pola.

•	Nie można zmienić informacji przechowywanych w polach systemowych replikowanej tabeli.


Właściwości dodawane do bazy danych podczas replikacji

W wyniku replikacji bazy danych albo oznaczenia obiektu jako lokalny, do zbioru obiektów Właściwości mogą zostać dodane następujące nowe elementy:

Właściwość	Opis
Replicable lub ReplicableBool	Właściwość bazy danych lub obiektu. Kiedy właściwość jest ustawiona na "T" (czyli "True" dla ReplicableBool), to oznacza, że baza danych, albo tabela, kwerenda, formularz, raport, makro lub moduł jest teraz replikowalny. Właściwości Replicable lub ReplicableBool można stosować wymiennie.
KeepLocal	Właściwość dołączana do tabeli, kwerendy, formularza, raportu, makro lub modułu. Kiedy właściwość jest ustawiona na "T", to oznacza, że obiekt nie powinien być replikowany podczas replikacji bazy danych. Obiekt, który został zreplikowany nie może mieć właściwości KeepLocal ustawionej na "T".
ReplicaID	Właściwość, która nadaje każdemu elementowi zestawu replik unikatowy identyfikator. Ta właściwość nadaje się tylko do odczytu i jest przechowywana w tabeli systemowej MSysReplicas.
DesignMasterID	Właściwość ReplicaID dla wzorca. Przechowywana jest w tabeli systemowej MSysRepInfo jako SchemaMaster.
Replication ConflictFunction	Funkcja używana do zastępowania procedury Microsoft Access Conflict Resolver zindywidualizowaną procedurą, która pomaga użytkownikom usuwać konflikty synchronizacji.


Tabele dodawane do bazy danych podczas replikacji

Jeśli podczas replikacji bazy danych Microsoft Access wystąpią pewne okoliczności, to do bazy danych mogą zostać dodane nowe tabele systemowe. Niektóre z nich mogą być szczególnie interesujące:

Tabela	Opis
MSysSidetables	Ta tabela istnieje tylko, jeśli wystąpi konflikt między repliką użytkownika i inną repliką z zestawu replik. Ta tabela nie jest replikowana. Zakładana jest jedynie w celach informacyjnych, a jej zawartość można zmieniać lub usuwać za pomocą własnych procedur usuwania konfliktów albo bezpośrednio przez użytkownika. Wszystkie dodatkowe tabele nazywają się tabela_conflict, gdzie tabela jest oryginalną nazwą tabeli.
MSysErrors	Ta tabela określa, gdzie i dlaczego wystąpiły błędy podczas synchronizacji. Określa tabelę i rekord, gdzie pojawił się błąd, replikę lub repliki, w których wykryto błąd, replikę, w której ostatnio zmieniano dany rekord oraz rodzaj operacji, która się nie powiodła i przyczynę niepowodzenia. Ta tabela jest replikowana i pojawia się we wszystkich replikach.
MSysSchemaProb	Ta tabela istnieje tylko wtedy, kiedy podczas aktualizacji projektu repliki wystąpi błąd. Zawiera dodatkowe szczegóły na temat przyczyn błędu. Ta tabela jest lokalna i nie podlega replikacji.
MSysExchangeLog	Ta tabela zawiera informacje na temat synchronizacji jakim podlegała replika. Jest ona lokalna i nie podlega replikacji.
Uwagi

•	Powyższe tabele są widoczne, kiedy widoczne są obiekty systemowe. Aby obiekty systemowe stały się widoczne, należy kliknąć polecenie Opcje w menu Narzędzia, potem kliknąć kartę Widok, a następnie zaznaczyć pole wyboru Obiekty systemowe.

•	Nie można zmienić informacji zawartej w tabelach systemowych MSysErrors, MSysSchemaProb, ani MSysExchangeLog znajdujących się w replikowanej bazie danych.


Zmiana funkcjonowania pól typu Autonumer podczas replikacji bazy danych

Podczas replikacji bazy danych, wszystkie przyrostowe pola typu Autonumer w tabelach zawierają liczby losowe. Wszystkie pola Autonumer w istniejących rekordach zachowują wartości, ale wartości Autonumer dla wstawianych rekordów są losowe. Innymi słowy, numery rekordów nie odzwierciedlają kolejności, w jakiej dodawano rekordy, a zatem rekord dodany ostatnio nie koniecznie ma najwyższy numer.

Przed replikacją bazy danych należy sprawdzić, czy którakolwiek z aplikacji lub którykolwiek z użytkowników korzysta z numeracji przyrostowych pól typu Autonumer. Jeśli tak, dodatkowe informacje na temat uporządkowania liniowego rekordów można wprowadzić za pomocą dodatkowego pola Data/Godzina.


Ograniczenia wielkości dotyczące replikowanej bazy danych

Dodanie trzech nowych pól do bazy danych (s_GUID, s_Lineage, i s_Generation) narzuca dwa ograniczenia wielkości tabel:

•	Aparat bazy danych Microsoft Jet umożliwia tworzenie rekordów wielkości nie przekraczającej 2048 bajtów, wliczając w to pola Memo lub pola obiektów OLE. Replikacja wymaga co najmniej 54 bajtów na unikatowe identyfikatory, indeksy i informacje o zmianach wprowadzonych w rekordzie. Jeśli rekord zawiera pola Memo lub obiekty OLE, to podczas replikacji na każde z tych pól przypadają dodatkowe 4 bajty. Ogólną liczbę bajtów dostępnych w rekordzie można policzyć w następujący sposób:

2048 bajtów
- 54 bajty na informacje o replikacji
- (4 bajty * liczba pól Memo)
- (4 bajty * liczba pól obiektów OLE)
= maksymalna liczba dostępnych bajtów

•	Aparat bazy danych Microsoft Jet umożliwia tworzenie 255 pól w tabeli, z tego co najmniej 3 wykorzystywane są podczas replikacji. Ogólną liczbę pól dostępnych w replikowanej tabeli można policzyć w następujący sposób:

255 pól
- 3 pola systemowe
- liczba pól Memo i obiektów OLE
= liczba dostępnych pól

Bardzo niewiele dobrze zaprojektowanych aplikacji wykorzystuje wszystkie dostępne pola w tabeli albo wszystkie bajty w rekordzie. Jeśli jednak w tabeli jest wiele pól Memo lub OLE, to można napotkać pewne ograniczenia.

Uwaga   Niezależnie od limitów dotyczących liczby dostępnych pól i znaków, aparat bazy danych Microsoft Jet nakłada ograniczenie na liczbę zagnieżdżonych transakcji. W niereplikowalnej bazie danych może być co najwyżej siedem zagnieżdżonych transakcji, ale replikowana baza danych może mieć najwięcej sześć zagnieżdżonych transakcji.

Dodanie kilku nowych tabel systemowych powoduje też powiększenie bazy danych. Większość tych nowych tabel zawiera tylko po kilka rekordów, ale niektóre tabele mogą się poważnie rozrosnąć, zależnie od tego, jak często synchronizuje się repliki.

Rozmiar pliku bazy danych ma znaczenie z dwóch powodów:

•	Aparat bazy danych Microsoft Jet pozwala tworzyć pliki wielkości do 1 gigabajta, ale wielu użytkowników ma ograniczoną liczbę miejsca na dysku. Plik zreplikowanej bazy danych jest większy od oryginalnej bazy danych i może zająć znaczną część dostępnego na dysku miejsca.

•	Jeśli chce się wykonać kopię zapasową niereplikowalnej postaci bazy danych, trzeba mieć na dysku dostatecznie dużo miejsca, żeby pomieścić jednocześnie replikowaną bazę danych i jej kopię.


Rozwiązywanie problemów związanych z replikacją - zagadnienia

Dlaczego istniejący obiekt (tabela, formularz, raport, makro, kwerenda lub moduł) zmienił nazwę?

Po zmianie danych w jednym elemencie zestawu replik nie zmieniają się one w innych elementach.

Po zmianie projektu obiektu we wzorcu nie zmienia się on w replikach.

Nie można znaleźć wzorca.

Nie można otworzyć wzorca.

Nie można utworzyć wzorca z danej repliki.

W zestawie replik są dwa wzorce.

Do usuwania konfliktów ma być stosowany inny program.

Podczas przeciągania pliku bazy danych do Mojej Aktówki nie powinna następować replikacja. Jak ją wyłączyć?


Replikacja we wcześniejszych wersjach programu Microsoft Access

Wersje programu Microsoft Access wcześniejsze niż Microsoft Access 7.0 nie dopuszczają replikacji baz danych, nie dają też możliwości korzystania z replikowanych baz danych.

Można dokonać konwersji zestawu replik utworzonego w programie Microsoft Access 7.0 synchronizując ten zestaw ze wzorcem w formacie Microsoft Access 97 (wersja 8.0). Więcej informacji na temat konwersji zestawu replik do formatu Microsoft Access 97, można uzyskać klikając  [image].


Nie można znaleźć wzorca.

Wzorzec może być przeniesiony z pierwotnego miejsca lub mógł ulec zniszczeniu. Aby znaleźć nowe miejsce:

1	Otwórz replikę z zestawu replik.

2	W menu Narzędzia wybierz polecenie Replikacja, a następnie wybierz polecenie Synchronizuj.

3	Kliknij przycisk Przeglądaj, aby odnaleźć inne elementy zestawu replik na komputerze lub w sieci.

4	Zaznacz element zestawu replik. Jeśli pojawi się pole wyboru Przekształć 'nazwapliku' na wzorzec, to element zestawu replik, z którym dokonywana jest replikacja, jest wzorcem.


Nie można otworzyć wzorca.

Wzorzec może być uszkodzony. Zamień replikę w nowy wzorzec. Informacje o tym, jak utworzyć z repliki nowy wzorzec, można uzyskać klikając  [image].


Nie można utworzyć wzorca z danej repliki.

Replika może być używana przez inne operacje i aplikacje i nie może być otwarta na wyłączny użytek. Należy poczekać parę minut i spróbować jeszcze raz.

Jeśli nada nie udaje się zrobić z repliki wzorca i nie pojawił się inny komunikat o błędzie, to replika może być uszkodzona. Należy wówczas usunąć tę replikę i utworzyć nową. Informacje na temat usuwania repliki można uzyskać klikając  [image].


W zestawie replik są dwa wzorce.

Istnienie więcej niż jednego wzorca w zestawie replik uniemożliwia poprawną synchronizację replik zestawu. Jeśli to się zdarzy, należy wykonać następujące czynności:

1	Zdecyduj, który wzorzec jest oryginalny i czy powinien nadal pozostać wzorcem.

2	Usuń wzorzec, który nie powinien istnieć.

3	Usuń wszystkie repliki, które ostatnio były synchronizowane z usuniętym wzorcem albo z innymi replikami, które ostatnio były synchronizowane z usuniętym wzorcem.

  	Jak?

4	Utwórz nowe repliki na podstawie pozostawionego wzorca, aby zastąpić nimi usunięte repliki.


Po zmianie danych w jednym elemencie zestawu replik nie zmieniają się one w innych elementach.

1	Otwórz element zestawu replik który ma być synchronizowany.

2	W menu Narzędzia wybierz polecenie Replikacja, a następnie wybierz polecenie Synchronizuj.

3	Wpisz ścieżkę i nazwę pliku innej replikowanej bazy danych, z którą ma być zsynchronizowana otwarta baza danych.

4	Kliknij przycisk OK.

5	Zamknij i ponownie otwórz bazę danych, żeby zobaczyć zmienione rekordy.

6	Jeśli dane nadal się nie pojawiają, to może zmianom uległy informacje w obiektach lokalnych, które nie są synchronizowane z elementami zestawu replik albo mogą znajdować się w konflikcie z innym elementem zestawu. Informacje na temat usuwania konfliktów można uzyskać klikając  [image].


Po zmianie projektu obiektu we wzorcu nie zmienia się on w replikach.

1	Otwórz wzorzec.

2	W menu Widok kliknij polecenie Właściwości.

3	W karcie Ogólne zaznacz pole wyboru Replikowalny, a potem kliknij przycisk OK.

4	W menu Narzędzia wybierz polecenie Replikacja, a następnie wybierz polecenie Synchronizuj.

Uwaga   Zapamiętując nowy obiekt we wzorcu można zaznaczyć pole wyboru Przekształć na replikowalny w oknie dialogowym Zapisz jako, aby rozpropagować ten nowy obiekt do innych elementów zestawu. Jeśli pole pozostanie puste, to obiekt będzie lokalny dla wzorca i nie zostanie przekazany do zestawu replik podczas jego synchronizacji.


Do usuwania konfliktów ma być stosowany inny program.

1	Otwórz wzorzec dla zestawu replik.

2	W menu Plik kliknij polecenie Właściwości bazy danych.

3	Kliknij kartę Niestandardowe.

4	W polu dialogowym Nazwa wpisz FunkcjaUsuwaniaKonfliktów.

5	W polu dialogowym Typ kliknij Tekst.

6	W polu dialogowym Wartość wpisz nazwę własnej funkcji, po której wpisz ( ). Na przykład, jeśli nazwą funkcji jest MójPatent, należy wpisać MójPatent( ).

Więcej informacji na temat właściwości FunkcjaUsuwaniaKonfliktów można uzyskać klikając  [image].


Podczas przeciągania pliku bazy danych do Mojej Aktówki nie powinna następować replikacja. Jak ją wyłączyć?

Program Aktówka replikuje pliki baz danych Microsoft Access, które przeciąga się do Aktówki. Jeśli chce się uniknąć replikacji, należy zmienić rozszerzenie nazwy pliku z .mdb (lub .mde) na inne.


Konwersja bazy danych w programie Aktówka

Wybrany plik bazy danych nie jest plikiem repliki .mdb. Aby zrobić z bazy danych replikę, należy ją najpierw zamienić na wzorzec. Konwersja bazy danych powoduje zwiększenie rozmiarów pliku , ponieważ dodawane są do niej nowe, ukryte pola i tabele systemowe.

Przed konwersją bazy danych należy usunąć hasło chroniące bazę. Uprawnienia dostępu do bazy danych nie przeszkadzają w synchronizacji.


Tworzenie kopii zapasowej

Kiedy przeciąga się plik bazy danych Microsoft Access do ikony Moja Aktówka albo wskazuje się polecenie Replikacja w menu Narzędzia i klika Utwórz Replikę, istnieje możliwość utworzenia kopii zapasowej oryginalnej bazy danych. Dobrze jest zrobić kopię zapasową, należy jej jednak używać tylko w sytuacjach krytycznych. Żadnej kopii wykonanej z kopii zapasowej bazy danych ani żadnej repliki wykonanej z konwertowanej kopii zapasowej nie można synchronizować z elementami zestawu replik.


Określenie wzorca z programu Aktówka

Jeśli chce się wprowadzić zmiany w projekcie bazy danych podczas pracy na kopii pliku .mdb w Aktówce, trzeba zamienić Aktówkę we wzorzec. Trzeba jednak pamiętać, że wówczas nikt nie będzie mógł wprowadzić zmian do projektu repliki, który pozostał na pulpicie.


Replikacja za pomocą obiektów dostępu do danych (DAO)

Replikowalną bazę danych można utworzyć i zarządzać nią za pomocą metod i właściwości DAO. Jeśli potrzebna jest kontrola programistyczna nad wymianą danych i informacji na temat projektu między elementami zestawu replik, to należy używać DAO. Można na przykład zastosować metody DAO, żeby napisać procedurę, która automatycznie synchronizuje replikę użytkownika z pozostałymi elementami zestawu replik, kiedy użytkownik otwiera bazę danych.

Do tworzenia i zarządzania bazą danych można użyć następujących metod i właściwości:

MakeReplica, metoda

Synchronize, metoda

ConflictTable, właściwość

DesignMasterID, właściwość

KeepLocal, właściwość

KeepLocal, właściwość

ReplicaID, właściwość

ReplicationConflictFunction, właściwość

Aparat bazy danych Microsoft Jet dostarcza dodatkowych metod i właściwości służących do tworzenia i zarządzania replikami częściowymi (replikami, które zawierają podzbiór rekordów oryginalnej repliki):

ReplicaFilter, właściwość

PartialReplica, właściwość

PopulatePartial, metoda

Więcej informacji na temat replikacji bazy danych znajduje się w rozdziale 20, "Replikacja w aplikacji," w podręczniku Tworzenie aplikacji za pomocą Microsoft Access 97. Więcej informacji na temat replik częściowych znajduje się w temacie Tworzenie replik częściowych.


Replikacja bazy danych: Co to jest i do czego służy

Replikacja umożliwia użytkownikom znajdującym się w różnych miejscach łatwe dzielenie się zmianami wprowadzanymi w bazie danych. Ma to parę praktycznych zastosowań.


Replikacja bazy danych: Co to jest i do czego służy

Replikację bazy danych stosuje się tworzenia specjalnych kopii nazywanych replikami. Użytkownicy znajdujący się w różnych miejscach mogą wszyscy jednocześnie pracować ze swoimi kopiami i dzielić się ze sobą wprowadzonymi zmianami, czyli synchronizować je.


Replikacja bazy danych: Co to jest i do czego służy

Zarówno wzorzec jak i replika mogą zawierać obiekty replikowalne i lokalne. W ten sposób i wzorzec, i replika mogą być dostosowane do potrzeb konkretnych grup użytkowników i jednocześnie umożliwiać synchronizację wspólnych danych z innymi elementami zestawu replik.


Replikacja bazy danych: Co to jest i do czego służy

Program Microsoft Access 97 dostarcza rozmaitych narzędzi i metod tworzenia i zarządzania replikami.


Bazę danych zamienia się we wzorzec. Konwersja powoduje dodanie specjalnych tabel, kolumn i właściwości do oryginalnego pliku bazy danych, który staje się wzorcem dla zestawu replik.


Wzorzec zawiera te same dane, co repliki w zestawie, ale jest jedynym miejscem, w którym można dokonywać zmian struktury bazy danych. Wprawdzie można zamienić wzorzec w replikę, a replikę we wzorzec, ale każdy zestaw replik może mieć w danym momencie tylko jeden wzorzec.


Zestaw replik składa się z jednego wzorca i wszelkich replik utworzonych na podstawie tego wzorca lub innych replik z zestawu. Synchronizować dane mogą tylko repliki i  wzorzec w tym samym zestawie replik.


Synchronizacja jest procesem aktualizacji dwóch elementów zestawu replik przez wymianę wszystkich zmienionych rekordów i replikowanych obiektów w obydwu bazach. Dwa elementy zestawu są zsynchronizowane, jeśli zmiany zaistniałe w jednym zostały wprowadzone w drugim i na odwrót. Dobrze jest synchronizować wzorzec lub replikę bezpośrednio przed drukowaniem raportu albo tuż po wprowadzeniu zmian w strukturze wzorca. Czas synchronizacji elementów zestawu replik zależy od ilości zmian wprowadzonych w każdym z elementów.


Replikowalnymi obiektami są tabele, kwerendy, formularze, raporty, makra i moduły, które pojawiają się we wzorcu i wszystkich elementach zestawu replik. Zmiany struktury replikowanych obiektów ze wzorca są propagowane do replik należących do zestawu. Zmiany danych w replikowanej tabeli dokonane w którymkolwiek elemencie zestawu są także propagowane do innych elementów.


Użytkownicy wzorca i replik mogą tworzyć obiekty lokalne. Mogą to być tabele, kwerendy, formularze, makra i moduły, które występują tylko w tym elemencie zestawu, w którym zostały utworzone.

Zmiany w strukturze lub danych obiektów lokalnych nie są propagowane do innych elementów zestawu replik.


W replikowalnej bazie danych nazywanej wzorcem można dodawać nowe tabele, kwerendy, formularze, raporty, makra i moduły albo wprowadzać zmiany w istniejących obiektach. Podczas następnej synchronizacji wzorca z replikami te zmiany zostaną rozpropagowane do replik.


W przypadku przedstawiciela handlowego lub innej osoby działającej w terenie, może ona przechowywać replikę firmowej bazy danych w swoim komputerze przenośnym. Po podłączeniu się do sieci w firmie może zsynchronizować zmiany wprowadzone w replice na komputerze przenośnym ze zmianami zaistniałymi w bazie danych w biurze.


Kopię zapasową bazy danych można utworzyć automatycznie przechowując jej kopię na innym komputerze. W przeciwieństwie do tradycyjnych metod przechowywania kopii zapasowych, które uniemożliwiają użytkownikom dostęp do bazy danych podczas ich tworzenia, replikacja pozwala na wprowadzanie zmian na bieżąco.


Bazę danych można replikować na dodatkowych serwerach sieci i zmienić przypisanie użytkowników tak, aby zmniejszyć obciążenie tych serwerów. Można też przydzielić własne repliki tym użytkownikom, którzy muszą mieć stały dostęp do bazy danych zmniejszając tym samym ogólne obciążenie sieci.


Poleceń replikacji znajdujących się w menu Narzędzia można używać do tworzenia replik i synchronizowania ich podczas pracy z programem Microsoft Access 97. To najlepsza metoda, jeśli chce się tworzyć repliki i synchronizować je z otwartą bazą danych. Można też obiekty zamieniać na lokalne lub replikowalne zmieniając ich właściwości w programie Microsoft Access.


Jeśli użytkownikowi wygodniej jest korzystać z DAO (Data Access Objects), może użyć metod i właściwości replikacji, na przykład metody TwórzReplikę i właściwości IDwzorca. Można też wykorzystać DAO do tego, by zamieniać obiekty na lokalne lub replikowalne.


Replikę można szybko utworzyć korzystając z bazy danych na pulpicie. Wystarczy tylko przeciągnąć ją myszą do ikony Moja Aktówka. Wówczas automatycznie zostaną utworzone wzorzec i replika.


Za pomocą aplikacji Microsoft Replication Manager można tworzyć, planować i zarządzać zestawami replik.