Błędy w Firebird.log
Plik logu Firebird (firebird.log) może zawierać wiele różnych komunikatów, tutaj znajdziesz listę najczęstszych z nich wraz z wyjaśnieniem błędu.
INET/inet_error: read errno = 10054
Krótko: Połączenie zostało przerwane przez oprogramowanie.
Rozłączenie klienta od serwera. Jeśli tekst błędu zawiera (Client), oznacza to, że aplikacja kliencka utraciła połączenie z serwerem i zapisała ten fakt w logu.
Jeśli tekst błędu zawiera (Server), oznacza to, że serwer utracił połączenie z klientem i zgłosił to do firebird.log.
Zwykłą przyczyną błędu 10054 jest niestabilne połączenie, na przykład słabe Wi-Fi.
Możliwe jest również zobaczenie tego błędu, jeśli aplikacja kliencka nie zamyka jawnie połączenia z bazą danych, tj. nie ma jawnego polecenia, takiego jak “MyDB.Active:=false” przy zamykaniu oprogramowania.
INET/inet_error: read errno = 104
Krótko: Połączenie zostało przerwane przez oprogramowanie.
To samo co 10054, ale w systemie Linux.
WNET/wnet_error: ReadFile end-of-file errno = 109
Krótko: Połączenie zostało przerwane przez oprogramowanie.
To samo co 10054, ale ten błąd występuje, gdy aplikacja kliencka używa ścieżki połączenia WNET do instancji serwera Firebird w systemie Windows, coś w tym stylu:
\\server\path\database.fdb
Nie jest to zalecane, lepiej używać połączeń TCP/IP dla połączeń sieciowych (w formacie server:path\database.fdb lub, w Firebird 3, inet://servername:path\database.fdb), oraz XNET dla połączeń lokalnych (lokalna ścieżka w 2.5 i xnet://path\database.fdb).
Rozważ wyłączenie połączeń WNET, zobacz tutaj jak wyłączyć protokoły połączeń dla Firebird w systemie Windows.
INET/inet_error: send errno = 10053 (na Windows) lub INET/inet_error: send errno = 103 (na Linux)
Również oznacza zerwane połączenie, ale błąd WinSock to 10053.
INET/inet_error: connect errno = 10060 (Windows) lub INET/inet_error: connect errno = 10061 (Windows)
Krótko: 10061 - Połączenie odrzucone, 10060 - Przekroczono limit czasu połączenia
Ogólnie rzecz biorąc, ten błąd oznacza, że nie można nawiązać połączenia między serwerem a aplikacją kliencką.
W przypadku tego błędu z (Client), oznacza to, że aplikacja kliencka próbowała połączyć się z Firebird przez sieciowy ciąg połączenia, ale nie udało się, albo serwer Firebird nie działa, albo dostęp jest zablokowany przez zaporę sieciową.
Więcej szczegółów na temat typowych błędów Winsock znajdziesz tutaj.