Update: Płatnik, MS SQL oraz QNAP
![Update: Płatnik, MS SQL oraz QNAP](/content/images/size/w2000/wordpress/ms_loves_linux.png)
Ostatni wpis na stary rok 2017, tak na szybko :)
Jak wiemy jest już MS SQL dla systemów Linux o czym już pisałem, jednak dostępna już jest darmowa wersja Express, wersja ta często używana jest przez małe instalacje programów księgowych typu Subiekt lub w biurach księgowych gdzie jest kilka komputerów i używany jest program Płatnik.
Właśnie w tym wpisie pokaże jak od zera wykorzystać nasz serwer QNAP wraz z programem Płatnik. Tutaj pokaże jak podłączyć nowego płatnika, jednak bez problemu można też wykonać migrację istniejących danych zawartych w pliku do bazy MS SQL na serwerze QNAP.
Podstawą działania będzie aplikacja Container Station (CS), którą instalujemy z poziomu AppCener – ten proces już pominę.
Zatem gdy odpalimy CS musimy utworzyć kontener Docker-a.
![](https://www.8px.pl/content/images/wordpress/sql1-1.png)
Klikamy install, a następnie wybieramy interesującą nas wersję – w tym wypadku najnowsze wydanie
![](https://www.8px.pl/content/images/wordpress/sql2-1.png)
Teraz musimy skonfigurować parametry kontenera w tym wybrać wersję MS SQL, która nas interesuje
![](https://www.8px.pl/content/images/wordpress/sql3-1.png)
Dostępne wersje:
- Developer – to jest wersja domyślna, gdy nie ustawimy MSSQL_PID
- Express
- Standard
- Enterprise
- EnterpriseCore
Następnym krokiem jest konfiguracja sieci, tutaj wykorzystamy NAT, czyli przerzucimy port z kontenera na IP naszego serwera QNAP
![](https://www.8px.pl/content/images/wordpress/sql4.png)
Teraz czas na Płatnika, gdy program zainstalujemy, kreator nas poprowadzi za rękę
![](https://www.8px.pl/content/images/wordpress/sql10-1.png)
Wybieramy bazę MS SQL
![](https://www.8px.pl/content/images/wordpress/sql11-1.png)
Teraz musimy wskazać IP serwera QNAP oraz nazwę bazy która zostanie utworzona
Czas na autoryzację w celu utworzenia bazy
![](https://www.8px.pl/content/images/wordpress/sql13.png)
Czyli wpisujemy login „sa” oraz nasze hasło, które było wpisane przy instalacji kontenera
![](https://www.8px.pl/content/images/wordpress/sql14-1.png)
Teraz czas na konfigurację usera który będzie korzystał z danej bazy
![](https://www.8px.pl/content/images/wordpress/sql15.png)
w tej konfiguracji użyjemy usera „sa”, oczywiście, gdy jest to produkcja to jednak warto dodać ogarniczonego usera
![](https://www.8px.pl/content/images/wordpress/sql16.png)
Teraz już możemy zaczynać pracę w programie.
Na koniec oczywiście możemy zweryfikować działanie naszej bazy danych oraz to że jest utworzona baza. Najlepiej z poziomu SSH:
Na początek sprawdzamy czy kontener działa:
[~] # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES df29de2b7090 microsoft/mssql-server-linux:latest "/bin/sh -c /opt/mssq" 28 minutes ago Up 28 minutes 0.0.0.0:1433->1433/tcp platnik
Teraz możemy zalogować się do MS SQL
[~] # docker exec -it platnik /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'yourStrong(!)Password'
I sprawdzamy jakie bazy są utworzone
1> SELECT NAME FROM sys.sysdatabases 2> go NAME -------------------------------------------------------------------------------------------------------------------------------- master tempdb model msdb platnik (5 rows affected) 1>
Update -> Migracja istniejącego płatnika do bazy MS SQL
Aby dokonać migracji bazy płatnika wymagana jest dodatkowa konfiguracji serwera MS-SQL za pomocą zapytania.
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; GO
Uwagi:
- jeżeli migrujemy się z pliku Access do MS-SQL, migrację wykonujemy na Windows 32bit i do lokalnej instancji MS-SQL (zapytanie powyżej też musimy wykonać na lokalnym MS-SQL). Po udanej migracji możemy wykonać migrację do serwera MS-SQL uruchomionego na naszym serwerze QNAP
- W przypadku gdy mamy „świeżego” Płatnika musimy dokonać aktualizacji metryk, jeżeli tego nie wykonamy nie uda się wykonać migracji danych między serwerami MS-SQL jak i z samego pliku Access
![](https://www.8px.pl/content/images/wordpress/Screenshot-at-Feb-23-19-30-06.png)