Powrót do listy pytań

Czy aplikacja może działać na kilku komputerach połączonych w sieć?

Tak, aplikacja umożliwia równoległą pracę na kilku komputerach w sieci. Dzięki temu można mieć dostęp do tych samych danych z wielu różnych komputerów, o ile są one połączone w sieć lokalną lub mają dostęp do internetu.

W przypadku gdy komputery są w tej samej sieci lokalnej (np. kilka komputerów w firmie lub w domu), konfiguracja programu jest zazwyczaj bardzo prosta – wystarczy tylko podać nazwę komputera, na którym znajduje się serwer bazy danych, aby program mógł się z nim połączyć.

Po pierwszej instalacji aplikacji z pełnego instalatora, na komputerze instalowany jest zarówno serwer bazy danych Microsoft SQL Server, jak również sama aplikacja Faktury 2021 lub Firma 2021. Aplikacja domyślnie skonfigurowana jest tak, aby łączyć się z serwerem na lokalnym komputerze (na tym samym, na którym jest zainstalowana). Aby wykorzystywać aplikację na innym komputerze w sieci, należy zainstalować na nim tylko samą aplikację Faktury 2021 lub Firma 2021 z małego instalatora aplikacji, który zainstaluje tylko samą aplikację do fakturowania (już bez serwera bazy danych), a następnie w konfiguracji należy wskazać, gdzie znajduje się serwer bazy danych, z którym aplikacja ma się łączyć.

ELISOFT Schemat sieci

Na rysunku powyżej widać schemat sieci, w której są 3 komputery. Jeden z nich (S) pełni rolę serwera – zainstalowano na nim serwer bazy danych Microsoft SQL Server (w praktyce na tym komputerze będzie zazwyczaj zainstalowana także aplikacja kliencka Faktury 2021 lub Firma 2021), na pozostałych komputerach (A, B, C) zainstalowano tylko samą aplikację kliencką (Faktury 2021 lub Firma 2021). Aby można było korzystać z aplikacji na tych komputerach, musi być skonfigurowane połączenie do serwera S, z którego aplikacja będzie czerpać dane - obrazują to strzałki.

W tym celu najpierw należy odczytać, jaka jest nazwa komputera, na którym zainstalowano serwer bazy danych Microsoft SQL Server. Nazwę komputera bez trudu odnajdujemy we właściwościach komputera (kliknij prawym klawiszem na ikonie Komputer lub Mój Komputer, wybierz Właściwości i odszukaj nazwę komputera). Następnie na pozostałych komputerach w sieci (w powyższym przykładzie będą to komputery A, B, C), uruchom aplikację kliencką Faktury 2021 lub Firma 2021 i w oknie logowania kliknij przycisk Konfiguracja.

ELISOFT Ekran logowania

Ukaże się okno do konfiguracji połączenia z serwerem, jak widać poniżej. W polu Komputer-serwer (w którym domyślnie jest wpisane słowo local) należy wpisać nazwę komputera-serwera, odczytaną w poprzednim kroku (w naszym przykładzie z rysunku jest to S). Należy zwrócić uwagę, aby wpisana nazwa była bez nawiasów ani cudzysłowu. Pozostałe parametry pozostawiamy bez zmian.

ELISOFT Nazwa lub IP serwera

Używając poleceń Testuj połączenie z serwerem i Testuj połączenie z bazą danych, sprawdzamy czy komputer poprawnie nawiązuje połączenie z serwerem i bazą danych na serwerze. Jeżeli połączenie jest nawiązane, wystarczy kliknąć przycisk OK i zalogować się do aplikacji.

Konfiguracja jest prawidłowa, ale testowanie połączenia z serwerem kończy się niepowodzeniem - jaka może być przyczyna?

Jeżeli połączenie z serwerem nie jest nawiązywane, a mamy pewność że nazwa komputera-serwera jest wpisana prawidłowo i komputery "widzą się" wzajemnie (tzn. są w tej samej sieci), to najbardziej powszechną przyczyną może być w takim przypadku zapora (lub program antywirusowy) na serwerze lub kliencie, która blokuje połączenia do serwera. Aby to sprawdzić, można chwilowo wyłączyć zaporę/antywirus na serwerze i kliencie i wykonać test połączenia. Jeśli test przebiegnie pomyślnie, to mamy potwierdzenie że blokada następuje przez zaporę/antywirus. W takim przypadku zaporę/antywirus należy włączyć, ale potrzeba utworzyć w zaporze/antywirusie wyjątek, aby dopuszczał komunikację między serwerem a klientem (w sieciach firmowych najlepiej zwrócić się z tym do administratora sieci, który ustawi odpowiednie reguły w zaporze).

1. Skonfiguruj Zaporę Windows

W przypadku Zapory Windows, należy odblokować port 1433 TCP oraz 1434 UDP, tworząc dwie reguły dla tych portów. W tym celu na serwerze w Panelu Sterowania / System i zabezpieczenia / Zapora systemu Windows kliknij opcję Ustawienia zaawansowane. Następnie zaznacz Reguły przychodzące i kliknij akcję Nowa reguła.

ELISOFT Zapora systemu

Na karcie Typ reguły zaznacz Port.

Elisoft Reguła zapory systemu

Na karcie Protokół i porty zaznacz TCP i wpisz port 1433.

ELISOFT Reguła zapory TCP

Na karcie Nazwa wpisz nazwę reguły, np. SQL SERVER 1433 TCP i kliknij Zakończ.

ELISOFT Reguła zapory SQL SERVER 1433 TCP

Ponownie kliknij akcję Nowa reguła i dodaj nową regułę dla portu 1434 UDP.

ELISOFT Reguła zapory UDP

Nazwij tę regułę np. SQL SERVER 1434 UDP i kliknij Zakończ.

ELISOFT Reguła zapory SQL SERVER 1434 UDP

2. Włącz usługę SQL Server Browser

Sprawdź czy usługa SQL Server Browser jest włączona. W tym celu przejdź do okna usług systemowych - otwórz w systemie Windows Menu Start | Uruchom (lub naciśnij klawisz Win+R) i w okienko uruchamiania wpisz services.msc i kliknij OK.

ELISOFT Usługi systemu windows

Na liście usług znajdź usługę SQL Server Browser i sprawdź, czy jest uruchomiona - jeśli jest zatrzymana, uruchom ją.

ELISOFT Usługa SQL Server Browser

3. Włącz obsługę protokołu TCP/IP

Wśród zainstalowanych programów z Menu Start znajdź i uruchom program SQL Server Configuration Manager. Program możesz także wyszukać, wpisując jego nazwę w Menu Start.

ELISOFT Sql Server Configuration Manager

W oknie managera rozwiń SQL Server Network Configuration zaznacz Protocols for ELISOFT i w panelu po prawej stronie upewnij się że protokół TCP/IP ma stan Enabled. Jeśli nie ma, kliknij prawym klawiszem na protokole i wybierz polecenie Enable z menu podręcznego.

ELISOFT TCP/IP Protocol

Wprowadź port 1433 we właściwościach protokołu TCP/IP w sekcji IP ALL, jak widać na poniższym ekranie.

ELISOFT Właściwiości TCP/IP

4. Upewnij się że komputer-serwer i komputery klienckie są w tej samej sieci (grupie roboczej)

Czy serwer bazy danych może być w internecie?

Jak najbardziej - wykorzystanie serwera bazy danych który jest umieszczony w internecie, daje możliwość korzystania z programu z dowolnego miejsca z wielu komputerów jednocześnie i co ważne - programy mogą być w różnych sieciach. Można więc skorzystać z programu na laptopie, będąc w podróży, a w tym samym momencie inny użytkownik może używać programu w biurze.

Program konfiguruje się analogicznie jak do pracy w sieci lokalnej, z tą różnicą, że zamiast podawać nazwę komputera-serwera z sieci lokalnej, wpisuje się nazwę komputera-serwera udostępnionego w internecie. Należy również wpisać inną nazwę użytkownika i hasło, zgodnie z konfiguracją przekazaną przez dostawcę serwera.

Istnieją dwa interesujące warianty wykorzystania serwera bazy danych w internecie

  • użycie serwera SQL od dostawcy internetowego, który udostępnia usługę hostowania bazy danych na serwerze Microsoft SQL Server (np. WEBIO.PL)
  • użycie serwera VPS (Virtual Private Server) z systemem Windows (maszyny wirtualnej) i zainstalowanie na nim serwera SQL (opcja podobna do powyższej ale dająca znacznie większą kontrolę nad serwerem bazy danych). Taką usługę oferuje wielu dostawców hostingowych.

Jeżeli używany jest serwer SQL z internetu, należy przetestować, czy serwery danego dostawcy są wystarczająco szybkie.

Powrót do listy pytań