MSSQL, MSDE - wymiana danych - jak
Adam - 13-11-2006 00:44
MSSQL, MSDE - wymiana danych - jak
Witam,
mam przed sobą następujące zagadnienie:
mam jeden serwer główny - MSDE, stoi na stałym IP publicznym i 4 bazy MSDE na IP owszem publicznych ale zmiennych, dodatkowym utrudnieniem jest to ze jakość łącza między centralą a oddziałem moze byc rozna - od bardzo dobrych do tragicznych wręcz.
Jak zorganizować wymianę informacji między nimi? Większość zmian wystepuje po stronie serwera głównego i musi być rozesłana po oddziałach. Ze strony oddziałów do centrali spływa wręcz szczątkowa ilość informacji które nie musza juz być rozsyłane po pozostałych oddziałach. Taka struktura master-slave. Mogę wykorzystać usługi FTP i WWW. Na razie klepie ręcznie procedurę ktora za pomocą BCP tworzy mi plik csv z danymi z tabeli, pakuje do zip i wystawia na serwerze FTP. Klient okresowo łączy sie i pobiera ten plik jednoczesnie go usuwając. Jego usuniecie oznacza ze plik musi być tworzony od nowa, w przeciwnym wypadku tylko do niego dopisuje. Przy okazji przesyła na serwer swój plik ze zmianami.
Wszystko generalnie działa tak jak to było założone ale czasami wystepuja problemy ktorych nie wiem jak obsłuzyc - zerwanie transmisji, sciagniecie pliku z błędami itd. itp.
Mam wiec pytanie. Czy mozna to zrobic lepiej? I jesli sie da to jak?
Pozdrawiam i prosze o podpowiedzi.
Gsue - 13-11-2006 00:44
Użytkownik "Adam" <adam@strachynalachy.pl> napisał w wiadomości news:1jh0mazlxjtwo.flwim6s2ewlq$.dlg@40tude.net... > Witam, > > mam przed sobą następujące zagadnienie: > > mam jeden serwer główny - MSDE, stoi na stałym IP publicznym > i 4 bazy MSDE na IP owszem publicznych ale zmiennych, dodatkowym > utrudnieniem jest to ze jakość łącza między centralą a oddziałem moze byc > rozna - od bardzo dobrych do tragicznych wręcz. > > Jak zorganizować wymianę informacji między nimi? Większość zmian wystepuje > po stronie serwera głównego i musi być rozesłana po oddziałach. Ze strony > oddziałów do centrali spływa wręcz szczątkowa ilość informacji które nie > musza juz być rozsyłane po pozostałych oddziałach. Taka struktura > master-slave. Mogę wykorzystać usługi FTP i WWW. Na razie klepie ręcznie > procedurę ktora za pomocą BCP tworzy mi plik csv z danymi z tabeli, pakuje > do zip i wystawia na serwerze FTP. Klient okresowo łączy sie i pobiera ten > plik jednoczesnie go usuwając. Jego usuniecie oznacza ze plik musi być > tworzony od nowa, w przeciwnym wypadku tylko do niego dopisuje. Przy okazji > przesyła na serwer swój plik ze zmianami. > > Wszystko generalnie działa tak jak to było założone ale czasami wystepuja > problemy ktorych nie wiem jak obsłuzyc - zerwanie transmisji, sciagniecie > pliku z błędami itd. itp. > > Mam wiec pytanie. Czy mozna to zrobic lepiej? I jesli sie da to jak? > > Pozdrawiam i prosze o podpowiedzi.
Witam, a) replikacja b) linked serwers i rozłożenie bazy c) linked serwers / transakcje rozproszone, baza pozostaje jak była. omijasz problem przesyłania plików i zawierasz wszystko w transakcjach. nic nie ginie.
Czytając posta, aż nie mogę uwierzyć w aż tak "tragiczne" łącza, ale ... rzadko miewam rację :)
Pozdrawiam Gsue
Adam - 13-11-2006 00:44
Dnia Thu, 19 Oct 2006 20:49:00 +0200, Gsue napisał(a):
> Witam, [cut] > problem przesyłania plików i zawierasz wszystko w transakcjach. nic nie > ginie.
Dzieki.
> Czytając posta, aż nie mogę uwierzyć w aż tak "tragiczne" łącza, ale ... > rzadko miewam rację :)
Hmm. Wiem ze w 21 wieku to brzmi juz dosc dziwnie ale niestety tak to wyglada :)
adam - 13-11-2006 00:44
> Witam, > a) replikacja > b) linked serwers i rozłożenie bazy > c) linked serwers / transakcje rozproszone, baza pozostaje jak była. omijasz > problem przesyłania plików i zawierasz wszystko w transakcjach. nic nie > ginie.
Hmm, jest jeszcze jeden problem, bazy danych córki będa tylko okresowo dostępne w sieci. No i zmienne IP. Jak w tych warunkach wykonać poprawną wymiane danych? Z tych powodów zrobilem to tak jak opisalem, narastajace pliki z danymi sa przetrzymywane po stronie serwera i okresowo pobierane przez córki - od tego momentu pliki sa tworzone od nowa. Szkoda tylko ze nie działa to do konca bezproblemowo, dlatego szukam innego rozwiazania.
Pozdrawiam
Gsue - 13-11-2006 00:44
Użytkownik "adam" <spammtrapp@wp.pl> napisał w wiadomości news:1161328983.774182.196520@k70g2000cwa.googlegr oups.com... > Witam, > a) replikacja > b) linked serwers i rozłożenie bazy > c) linked serwers / transakcje rozproszone, baza pozostaje jak była. omijasz > problem przesyłania plików i zawierasz wszystko w transakcjach. nic nie > ginie.
Hmm, jest jeszcze jeden problem, bazy danych córki będa tylko okresowo dostępne w sieci. No i zmienne IP. Jak w tych warunkach wykonać poprawną wymiane danych? Z tych powodów zrobilem to tak jak opisalem, narastajace pliki z danymi sa przetrzymywane po stronie serwera i okresowo pobierane przez córki - od tego momentu pliki sa tworzone od nowa. Szkoda tylko ze nie działa to do konca bezproblemowo, dlatego szukam innego rozwiazania.
Pozdrawiam
Witam, po pierwsze primo - jeśli istnieje możliwość "okresowego" dostępu do internetu - zapewne istnieje też możliwość stałego. Taniej będzie zrezygnować też z komputerów. Poważniej - jeśli istnieje możliwość pobrania pliku - istnieje też możliwość pobrania danych wewnątrz transakcji. Jeśli nie może to być linked serwer(nie wiem, czemu nie?), zawsze może to być np."OPENROWSET" wywoływany na żądanie. Przecież znając adres komputera, skąd pobierasz pliki (a chyba znasz ) - równie dobrze możesz to samo zrobić wywołując zapytanie lub procedurę aktualizującą odpowiednie tabele.
Nie widzę z tej strony żadnego problemu. Adres serwera masz stały, jeśli chcesz uzyskać adres zmiennego IP też żaden problem. Wykorzystaj np. odwołanie przez dyndns, albo zbuduj taką funkcjonalność na własnym serwerze internetowym - ten na pewno ma stały adres. Zresztą, jeśli można uzdrawiać na odległość - możesz też zamówić usługę magicznego wykrywania IP lub ponadzmysłowej transmisji danych. <LOL>
Pozdrawiam Gsue
nicmituniepisać - 13-11-2006 00:45
Użytkownik "adam" <spammtrapp@wp.pl> napisał w wiadomości news:1161328983.774182.196520@k70g2000cwa.googlegr oups.com... > Witam, > a) replikacja > b) linked serwers i rozłożenie bazy > c) linked serwers / transakcje rozproszone, baza pozostaje jak była. omijasz > problem przesyłania plików i zawierasz wszystko w transakcjach. nic nie > ginie.
Hmm, jest jeszcze jeden problem, bazy danych córki będa tylko okresowo dostępne w sieci. No i zmienne IP. Jak w tych warunkach wykonać poprawną wymiane danych? Z tych powodów zrobilem to tak jak opisalem, narastajace pliki z danymi sa przetrzymywane po stronie serwera i okresowo pobierane przez córki - od tego momentu pliki sa tworzone od nowa. Szkoda tylko ze nie działa to do konca bezproblemowo, dlatego szukam innego rozwiazania.
Pozdrawiam
Zatem to bazy-córki powinny żądać danych od serwera głównego. Przy słabych łączach nie polecałbym transakcji rozproszonych. Jeśli masz WWW(na jakims IIS) to spróbuj SOAP/XML - troche bezpieczniej niż wystawiać MSSQL'a żywcem w internet.
-- Prywatne wiadomości proszę zostawiać na http://gapollo.polbita.com.pl
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
[laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?=
[mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?=
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?=
Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
[MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|