Program do synchronizowania danych pomiędzy Accessem 97

Transkrypt

Program do synchronizowania danych pomiędzy Accessem 97
Program do synchronizowania danych pomiędzy Accessem 97,2003 a SQL Serverem 2000/2008 w VB.NET
2010.
System będzie miał za zadanie synchronizować dane - ale wyłącznie w jednym kierunku: z Accessa do SQL
Servera. Są to dane słownikowe, które dodawane i edytowane są w tabelach accessowych, ale potrzebne są
również w systemach korzystających z SQL Servera. Dane na SQL Serwerze muszą być dostępne non-stop – nie
może być przerwy w ich dostępności.
System musi przewidywać możliwość zmiany struktury danych tabel Accessowych. W takiej sytuacji konieczne
będzie stworzenie kopii zarówno struktury jak i wszystkich danych. Aby zachować ciągłość dostępu do danych
po stronie SQL Serwera można skopiować całą tabelę pod roboczą nazwą, a następnie podmienić nazwy i
skasować stare dane (lub proszę o zaproponowanie innego rozwiązania). Jeżeli tabeli nie ma, trzeba ją
stworzyć. Powinna być opcja wymuszenia skopiowania całej tabeli.
System musi pracować „bezobsługowo” (ale nie jako serwis). Żadne błędy nie powinny przerywać jego
działania. Po nieudanej próbie synchronizacji powinno nastąpić logowanie błędu do pliku tekstowego a
następnie system czeka do kolejnej próby synchronizacji (czas pomiędzy próbami synchronizacji jako parametr
programu). Log z błędami powinien być wysłany mailem (mail i jego ustawienia jako parametry programu). W
logach powinna być również informacja o pozytywnym zakończeniu kolejnych synchronizacji.
System musi mieć możliwość zdefiniowania dowolnej ilości baz i tabel do synchronizacji:
Plik Accessa -> Tabela Accessa -> Adres SQL Servera -> Baza -> tabela, np.:
Z pliku C:\baza.mdb z tabeli Tabela1 przenoś dane na SQL Server 192.168.0.2 do bazy Baza1 do tabeli
TabelaABC. Każda tabela musi mieć swój własny tryb synchronizacji (np. co 90min od 2013-01-01 00:10) i
swoje własne parametry dostępu do SQL Serwera (lub lepiej – parametry dostępu powinny być
zesłownikowane, do wyboru przy każdej tabeli).
Opcjonalnie: System mógłby posiadać kreator do definiowania synchronizacji. Mógłby działać na zasadzie 1.
Użytkownik podaje plik Accessa, 2. System sprawdza jakie tam są tabele i pyta, które synchronizować, 3.
System pyta o parametry dostępu do SQL Servera 4. System proponuje nazwy tabel analogiczne do tych z
Accessa z możliwością ich zmiany przez użytkownika 5. System pyta o tryb synchronizacji i zapisuje tyle definicji
synchronizacji, ile użytkownik zaznaczył tabel w kroku 2.
Tabele mają po kilka tysięcy rekordów, trzeba je będzie synchronizować co kilkadziesiąt minut. Wielkość baz
Accessa dochodzi do 100MB.
System musi być dobrze przetestowany (Windows XP, 7, 8?, Access 97, 2003) i przyzwoicie udokumentowany.
Proszę zaproponować „filozofię” synchronizacji (sprawdzać zmiany rekord po rekordzie? Robić update czy
kasować/wstawiać rekord? Za każdym razem kopiować całą tabelę? A może wykorzystać jakieś mechanizmy
SQL Serwera?). Jak najlepiej zapewnić ciągłość dostępu do danych na SQL Serwerze? Jak rozwiązać problem
dostępu do baz Accessa 97 w systemach 64 bit? Jak rozwiązać problem, że id tabel w Accessie bywa
Autonumerem? Co zrobić z indeksami ? Jak bezpiecznie przechowywać hasła do baz SQL Serwera?
Proszę o kilka zdań opisu swojej wizji rozwiązania tego systemu, podanie ceny oraz sposobu rozliczania i czasu
przewidzianego na jego stworzenie. Prawdopodobny termin projektu: marzec/kwiecień 2013.

Podobne dokumenty