Update: Płatnik, MS SQL oraz QNAP

Update: Płatnik, MS SQL oraz QNAP

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.

Klikamy install, a następnie wybieramy interesującą nas wersję – w tym wypadku najnowsze wydanie

Teraz musimy skonfigurować parametry kontenera w tym wybrać wersję MS SQL, która nas interesuje

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

Teraz czas na Płatnika, gdy program zainstalujemy, kreator nas poprowadzi za rękę

Wybieramy bazę MS SQL

Teraz musimy wskazać IP serwera QNAP oraz nazwę bazy która zostanie utworzona

Czas na autoryzację w celu utworzenia bazy

Czyli wpisujemy login „sa” oraz nasze hasło, które było wpisane przy instalacji kontenera

Teraz czas na konfigurację usera który będzie korzystał z danej bazy

w tej konfiguracji użyjemy usera „sa”, oczywiście, gdy jest to produkcja to jednak warto dodać ogarniczonego usera

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:

  1. 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
  2. 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