Kontynuując opis dotyczący logiki narzędzi administracyjnych pakietu WAPRO ERP chciałem wrócić do Administratora WAPRO ERP i możliwości automatyzacji zadań.
Automatyzacja (jeśli ma być dosłowna) będzie polegała na połączeniu parametrów wiersza poleceń i harmonogramu zadań systemu Windows lub usługi SQL Agent (dostępny od wariantu Standard MS SQL).
Co możemy automatyzować?
Można spojrzeć na to z różnych stron:
- automatyzacja związana z utrzymaniem bazy danych czyli cykliczne wykonywanie defragmentacji indeksów, która ma realny wpływ na wydajność działania aplikacji
- automatyzacja procesu związanego z aktualizacją oprogramowania a konkretnie w tym przypadku z aktualizacją bazy danych
Administrator WAPRO ERP umożliwia uruchamianie niektórych funkcji poprzez wywołanie pliku administrator.exe z przekazaniem parametrów wiersza poleceń.
Pamiętaj, że Administrator.exe znajduje się w katalogu każdego programu i jeśli chcesz wykonać operacje np. aktualizacji bazy danych programu WAPRO Mag należy go uruchomić z folderu WAPRO Mag a dla WAPRO Kapera z folderu WAPRO Kaper.
Co można wywołać z wiersza poleceń?
- aktualizację bazy danych
- kompaktowanie bazy danych (polecenie SHRINK) – nie zalecane i powinno być używane tylko w razie konieczności zwolnienia rozmiaru pliku bazy danych
- defragmentacja bazy danych (a konkretnie defragmentacja indeksów założonych na tabelach) – zalecane wykonywanie cyklicznie (częstotliwość zależna od ilości operacji wykonywanych na bazie ale raz w tygodniu zapewne będzie wystarczające dla większości instalacji)
Jakie są parametry? Poniżej wyciąg z pomocy programu administratora:
- AUTO_UPDATE – parametr odpowiadający aktualizacji bazy danych, jeśli baza jest w odpowiedniej wersji dla danego administratora, zostanie wymuszona ponowna aktualizacja. Jest to parametr, który musi być podany zawsze jeśli używane są inne parametry. Jeśli użytkownik poda dodatkowe parametry system nie dokona ponownej aktualizacji a jedynie wykona dodatkowe operacje przypisane do dodatkowych parametrów.
- UPDATE_ALL – parametr pozwala wykonać operację aktualizacji wszystkich baz danych danego programu na serwerze. Parametr należy podać z parametrem AUTO_UPDATE
- COMPRESS – parametr odpowiada za wykonanie operacji kompaktowania bazy danych.
- DEFRAGM – parametr odpowiada za wykonanie operacji defragmentacji bazy danych (defragmentacja indeksów). Jeśli użytkownik poda ten parametr łącznie z opcją COMPRESS w pierwszej kolejności zostanie wykonane kompaktowanie bazy a dopiero defragmentacja.
- SERVER – parametr określa nazwę serwera do jakiego ma nastąpić połączenie. Jeśli parametr nie zostanie podany, administrator odczyta go z pliki konfiguracyjnego INI.
- DBNAME=nazwa_bazy – parametr, który wskazuje na jakiej bazie ma być wykonana dana operacja. Nazwa bazy danych powinna być wprowadzona po znaku = .
- WIN_AUTH – parametr określający, że ma zostać użyte uwierzytelnianie Windows do procesu logowania. Jeśli ten parametr zostanie pominięty i nie zostaną podane dane uwierzytelniające konta SQL system wykorzysta wbudowane konto aplikacji.
- LOGIN – parametr odpowiada za podanie nazwy konta SQL. Należy go podać tylko w przypadku nie wykorzystywania WIN_AUTH oraz chęci nawiązania na innym koncie niż wbudowane dla aplikacji.
- PASSWORD – parametr odpowiada za hasło konta SQL. Należy go podać tylko w przypadku nie wykorzystywania WIN_AUTH oraz chęci nawiązania na innym koncie niż wbudowane dla aplikacji.
- AUTO_REFRESH – parametr pozwala wykonać operację odświeżenia informacji o bazach programów. Należy go podać z parametrem AUTO_UPDATE
- LOG – parametr używany z opcją UPDATE_ALL pozwala przekierować do pliku informacje o tym czy udało się zaktualizować bazę danych czy też nie
Wielkość liter nie ma znaczenia w nazwach parametrów.
Przykładowe wywołania:
administrator.exe auto_update dbname=wapro_demo win_auth
– powoduje uruchomienie procesu aktualizacji bazy danych do najwyższej wersji odpowiadającej danemu administratorowi
administrator.exe auto_update defragm dbname=wapro_demo win_auth
– powoduje uruchomienie tylko procesu defragmentacji bazy danych
administrator.exe auto_update defragm dbname=wapro_demo
– powoduje uruchomienie jak powyżej ale z wykorzystaniem wbudowanego konta aplikacji, nazwa serwera odczytywana jest z pliku INI
administrator.exe auto_update defragm dbname=wapro_demo server=. login=sa password=sa
– powoduje uruchomienie jak powyżej ale dla wskazanego konkretnego serwera z podaniem nazwy loginu SQL oraz odpowiadającym hasłem dla danego loginu.
administrator.exe auto_update update_all win_auth server=localhost log=C:\Temp\log.txt
– powoduje uruchomienie procesu aktualizacji bazy danych do najwyższej wersji odpowiadającej danemu administratorowi
Powyższe operacje pozwalają np. ustawić cykliczne defragmentowanie indeksów z wykorzystaniem harmonogramu lub zaktualizowane wszystkich baz danych na serwerze do najwyższej wersji programu. Przydaje się to jeśli posiadamy kilka baz danych na serwerze danego programu np. kilka firm pracujących na różnych bazach w programie WAPRO Mag lub kilkanaście lub kilkadziesiąt baz programu WAPRO Kaper w biurze rachunkowym.
Jak wspomniałem wcześniej – sam administrator nie wie kiedy ma się uruchomić, więc powyższe polecenie należy zapisać jako plik skryptu bat/cmd/powershell (przykłady znajdziesz we wcześniejszych wpisach o archiwizacji bazy danych) a następnie utworzysz z tego zadanie w harmonogramie zadań Windows lub utworzysz zadanie w SQL Agent (podobnie jak skrypty przykłady znajdziesz we wpisie dotyczących automatyzacji archiwizacji).
Oczywiście proces aktualizacji bazy używamy ręcznie wtedy kiedy to robimy. W kolejnych wpisach opiszę jak zautomatyzować proces aktualizacji oprogramowania.
Comments