Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CopyFile?

1 view
Skip to first unread message

Nguyen Bang Giang

unread,
Nov 4, 2004, 1:34:31 PM11/4/04
to
Witam wszystkich serdecznie,

Czy wiecie, czy CopyFile kopiuje otwarte pliki? Chcę archiwizować backend za
pomocą polecenia z frontendu, czy użycie kombinacji CopyFile+CompactRepair
jest godne polecenia?

Pozdrawiam

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Nguyen Bang Giang

unread,
Nov 4, 2004, 1:36:36 PM11/4/04
to

Aby było bardziej zrozumiałe, dodaję, że backend u mnie wiecznie jest otwarty

(c) Krzysztof Pozorek

unread,
Nov 4, 2004, 4:24:34 PM11/4/04
to
(...)

>> Czy wiecie, czy CopyFile kopiuje otwarte pliki?

Tez mam pytanie, czy
MsgBox("Tekst", 36)
wyswietla ikonke ze znakiem zapytania?

Oczywiscie moglbym sam uruchomic to polecenie na swoim komputerze i
sprawdzic, ale bedzie pewnie szybciej jak poczekam, az ktos to zrobi i mi
odpowie ;)

K.P.


Grzegorz Danowski

unread,
Nov 4, 2004, 4:35:15 PM11/4/04
to
Użytkownik "(c) Krzysztof Pozorek" <acc...@vis.pl> napisał w wiadomości
news:cme6t2$42v$1...@nemesis.news.tpi.pl...

Nie wiem czy o to chodzi koledzę, ale może nie zastanawia się czy się da
skopiować, tylko się pyta, czy fakt, że kopiuje się działającą bazę nie
spowoduje jakiś problemów z jej późniejszym odczytem? Np. jeśli jakiś user
akurat wykonuje jakiekolwiek zmiany, to czy skopiowana baza nie znajdzie się
w jakimś stanie nieważkości?

Pozdrawiam
Grzegorz

(c) Krzysztof Pozorek

unread,
Nov 4, 2004, 4:53:15 PM11/4/04
to
Jak kopiowac otwarte pliki, patrz:
http://www.access.vis.pl/af0119.htm

Krzysztof Pozorek
P.S. Kopiowanie backendu i defragmentacja jest rozwiazaniem ostatecznym z
gatunku, jak mawial moj kolega, ratuj-sie-kto-moze! Ale w Twoim przypadku
wlasciwie jedynie mozliwym (skoro plik jest zawsze otwarty). Zagrozenia sa
zasadnicze - plik jest kopiowany w trakcie najrozniejszych operacji
tymczasowych i nigdy nie masz pewnosci, czy nie zgubiles kilku waznych
informacji. Przyznam sie, ze kiedys sam mialem taki mechanizm w bazie, ale
mial on znaczenie tylko pomocnicze, bo wlasciwy backup byl jednak wykonywany
przy zamknietym pliku.


Sławek SWP

unread,
Nov 4, 2004, 4:57:51 PM11/4/04
to
W: cme7au$4qn$1...@inews.gazeta.pl,
Od: Grzegorz Danowski <g...@usuntopoczta.onet.pl>
Było:
> ...

> Nie wiem czy o to chodzi koledzę, ale może nie zastanawia się czy się
> da skopiować, tylko się pyta, czy fakt, że kopiuje się działającą
> bazę nie spowoduje jakiś problemów z jej późniejszym odczytem? Np.
> jeśli jakiś user akurat wykonuje jakiekolwiek zmiany, to czy
> skopiowana baza nie znajdzie się w jakimś stanie nieważkości?
> ...

Choćby sam wszechpotężny Bill tu stanął i przysiągł się, że nic się nie
stanie to ja i tak będę kopiował rekord po rekordzie taką bazę do jej
odpowiednika i dopiero tą drugą będę archiwzował.

No chyba, że ktoś udowodni możliwość takiej obsługi w MS-Access jak w MS-SQL
srv. Tylko po co wtedy płacić za coś drożeszego jeśli coś tańszego zaczyna
być takie dobre ;-)

--
------------------------------------------------------------
Przy odpowiedzi na priv proszę usunąć oczywiste 2 nadwyżki tekstu
------------------------------------------------------------
Sławek SWP
---------------------------------------------------
Ekspert to człowiek, który przestał myśleć - on wie :-)
Zajrzyj na : http://teampoland.republika.pl/

Nguyen Bang Giang

unread,
Nov 5, 2004, 1:18:19 AM11/5/04
to

No i widzisz kolego, wasza krytyka kierowana ku mojej skromnej osobie jest
nieuzasadniona. U mnie metoda "prób i błędów" jest również ostateczna (choć
przyznaję, że czasem bardzo skuteczna). Przy okazji zadania pytania grupie
człowiek poznaje wiele innych aspektów problemu. Tak jak mówiłem, w firmie
przychodzę póżniej wychodzę wcześniej więc w czasie mojej obecności backend
zawsze jest otwarty. Skopiowanie rekord porekordzie jak Sławek sugerował jest
dla mojej bazy szaleństwem (150MB, 50 tabel). Ale cóż, skoro istnieje takie
niebebezpieczeństwo to innaczej bym musiał organizować, jak np. ostatnie
zamknięcie frontonu archiwizuje bazę. Jak o tym sądzicie?

Pozdrawiam.

Nguyen Bang Giang

unread,
Nov 5, 2004, 2:11:32 AM11/5/04
to
>to innaczej bym musiał organizować, jak np. ostatnie
> zamknięcie frontonu archiwizuje bazę. Jak o tym sądzicie?

Tak po prostu przyszło mi do głowy, że w twoim pliku ver.adp dodaję fragment
kodu sprawdzający czy backend jest otwarty. W ten sposób wykryję który z
userów "wychodzi" ostatni. Jak sądzisz? Czy istnieje jakaś lepsza metoda?

Piotr Lipski

unread,
Nov 5, 2004, 2:23:35 AM11/5/04
to
(c) Krzysztof Pozorek napisał(a):

> Jak kopiowac otwarte pliki, patrz:
> http://www.access.vis.pl/af0119.htm
>
> Krzysztof Pozorek
> P.S. Kopiowanie backendu i defragmentacja jest rozwiazaniem ostatecznym z
> gatunku, jak mawial moj kolega, ratuj-sie-kto-moze! Ale w Twoim przypadku
[ciach]

Kurczę, a ja od przeszło trzech lat z powodzeniem używam właśnie tej
metody backupowania bazy accessowej jako JEDYNEJ :) I jakoś się jeszcze
nie poślizgnąłem na tym. Inna sprawa, że sam backup jest robiony przez
narzędzie zewnętrzne, czyli bash/ncpmount/tar z debiana. Najpierw
ncpmount, potem tar, na koniec ncpumount, w międzyczasie jakieś mv żeby
mieć 20 ostatnich kopii (dyski teraz tanie są...) - i szafa gra. I to
nie są "martwe kopie", bo jak czasem backend się sypnie (bywa, gdzieś
tak raz na pół roku) to właśnie z linuksowej backupy wygrzebuję jadalne
resztki :)

Co do pytania otwierającego wątek - z tym kopiowaniem otwartych plików
za pomocą FileCopy to bywa różnie. Ja używam zamiast tego ApiCopyFile
wygrzebanego kiedyś w Pozorkowni.

--
PL

Krzysztof Pozorek

unread,
Nov 5, 2004, 3:52:49 AM11/5/04
to
(...)

> Co do pytania otwierającego wątek - z tym kopiowaniem otwartych plików za
> pomocą FileCopy to bywa różnie.

Z accessowym FileCopy bywa zawsze tak samo - FileCopy po prostu nigdy nie
skopiuje otwartego pliku.

> Ja używam zamiast tego ApiCopyFile wygrzebanego kiedyś w Pozorkowni.

Chodzi wlasnie o kopiowanie za pomoca API. Jesli w bazie jest maly ruch, to
trzymanie kilku kopii on-line moze byc wystarczajace, bo trafienie na jakas
krytyczna operacje podczas kopiowania jest male. W kazdym razie lepszy taki
backup niz zaden. Ja jednak w koncu zrezygnowalem z kopiowania danych
podczas pracy i ostal sie jeno standardowy backup.

--
A co do kopiowania tabel jedna po drugiej do innej bazy, to nie jest to
lepsze od archiwizowania otwartych baz. Prosty przyklad:
W tabeli A jest nazwisko ostatniej osoby licytujacej, a w tabeli B
zalicytowana kwota.

Podczas kopiowania tabeli A byl tam Kowalski , ktory licytowal 100zl, a
podczas kopiowania tabeli B juz Nowak zalicytowal 10 000zl. W efekcie kopia
zawiera tabele A gdzie jest Kowalski i tabele B, gdzie jest kwota 10 000zl.
Bardzo sie zdziwi Kowalski, ze tyle zalicytowal...

K.P.

Sławek SWP

unread,
Nov 5, 2004, 7:30:22 AM11/5/04
to
W: 3aad.000003...@newsgate.onet.pl,
Od: Nguyen Bang Giang <vttq...@poczta.onet.pl>
Było:

> ... Tak jak mówiłem, w firmie przychodzę póżniej wychodzę


> wcześniej więc w czasie mojej obecności backend zawsze jest otwarty.
> Skopiowanie rekord porekordzie jak Sławek sugerował jest dla mojej
> bazy szaleństwem (150MB, 50 tabel). Ale cóż, skoro istnieje takie

to tylko 50 kwerend i jedno pół godzinne makro w bazie na uboczu ;-)

> niebebezpieczeństwo to innaczej bym musiał organizować, jak np.
> ostatnie zamknięcie frontonu archiwizuje bazę. Jak o tym sądzicie?

Kopia (makro z kwerendami "dołączającymi") wykonuje się 2 razy w odstępie 1
godziny. Stan bazy jest prawidłowy dla pierwszej kopii wykonanej około 19:00
(w zaplanowanych zadaniach odpala się baza z AutoStartem)
Do oznaczenia "pierwszej kopii" mam w rekordach klucze utworzone za pomocą
zbitki w polu liczba złożone z "mmddggmmss" tak mi się to zaprojektowało
(kolejne lata odchodzą do baz o nazwie rrrr_nazwa_bazy), ten system
oznaczania powstał w innym celu ale idealnie pasuje do zrobienia i
odtwarzania z kopii.

Nguyen Bang Giang

unread,
Nov 5, 2004, 10:14:28 AM11/5/04
to
> (...)
> > Co do pytania otwierającego wątek - z tym kopiowaniem otwartych plików za
> > pomocą FileCopy to bywa różnie.
>
> Z accessowym FileCopy bywa zawsze tak samo - FileCopy po prostu nigdy nie
> skopiuje otwartego pliku.
>
> > Ja używam zamiast tego ApiCopyFile wygrzebanego kiedyś w Pozorkowni.
>
> Chodzi wlasnie o kopiowanie za pomoca API. Jesli w bazie jest maly ruch, to
> trzymanie kilku kopii on-line moze byc wystarczajace, bo trafienie na jakas
> krytyczna operacje podczas kopiowania jest male. W kazdym razie lepszy taki
> backup niz zaden. Ja jednak w koncu zrezygnowalem z kopiowania danych
> podczas pracy i ostal sie jeno standardowy backup.

Jeśli czekam aż ostani wychodzący archiwizuje backend to ten cały backend musi
przetłoczyć się przez sieć (ponieważ userzy mają zdalny dostęp przez sieć).
Zajmuje to parę ładnych minut. Sprawę może przejmować twój ver.adp. Aby
skopiować bazę bez ryzyka, niestety to chyba jedyna metoda.

Pozdrawiam

0 new messages