Komunikat ID -2147467259 „[DBNETLIB][ConnectionWrite] (send) Błąd połączenia.”

Prawdopodobnym źródłem problemu jest zerwanie połączenia sieciowego lub niedostępność jednego z zainstalowanych na komputerze/serwerze interfejsów sieciowych (dodatkowa karta sieciowa USB, ExpressCard, PCI itp). Rozwiązaniem w tym przypadku jest utworzenie aliasu dla instancji silnika bazy dedykowanej dla Comarch ERP Optima.

Jak skonfigurować alias do serwera SQL przedstawiono w pytaniu Nie mogę się połączyć z serwerem SQL – co zrobić ?

Ponadto problem ten może mieć następujące przyczyny:

  1. Rozłączenie wynikające z chwilowej utraty połączenia (niestabilna praca sieci).
    Rozwiązanie polega na wyeliminowaniu nieprawidłowości w pracy sieci:
    – zaniki sygnału w przypadku sieci radiowych (straty pakietów mogą doprowadzić do utraty połączenia),
    – uszkodzone kable, uszkodzona karta sieciowa,
    – błędy w działaniu urządzeń sieciowych takich jak router i switch,
    – braki w zasilaniu urządzeń sieciowych,
    – zmiany w konfiguracji urządzeń sieciowych itp.
  2. Timeout połączenia.
    Można zwiększyć timeout połączeń do serwera w konfiguracji programu Comarch ERP Optima w menu System/ Konfiguracja w gałęzi Stanowisko/ Użytkowe/ Parametry – pole: Limit czasu żądania SQL (Command Timeout).
  3. Rozłączenia połączenia sieciowego, nawet jeżeli serwer pracuje lokalnie.
    W tym wypadku można zastosować rozwiązanie polegające na założeniu „lokalnego” aliasu, który sprawi, że program będzie zawsze łączyć się z serwerem na konkretny adres.
    Przykładowo, jeżeli na komputerze adres IP ma wartość 10.132.28.38 i łączymy się do serwera SQL, to połączenie może używać właśnie tego adresu chociaż tak naprawdę jest ono wykonywane lokalnie. Dlatego rozłączenie sieci spowoduje utratę adresu sieciowego 10.132.28.38 i co za tym idzie połączenia z serwerem SQL. W aliasie (sposób tworzenia aliasu został przedstawiony w artykule Nie mogę się połączyć z serwerem SQL – co zrobić?) możemy podać adres 127.0.0.1, który jest lokalnym adresem wirtualnym i niezależnym od podłączenia do sieci, wtedy mimo rozłączenia sieci nie następuje rozłączenie połączenia SQL.
  4. Problem może być związany z włączoną funkcją TCP Chimney Offload.
    Zalecamy jej wyłączenie (po stronie systemu i karty sieciowej).
    Po stronie systemu można ją wyłączyć za pomocą polecenia:netsh int tcp set global chimney=disabled

    Dodatkowo można wykonać polecenie, które wyłączy funkcję RSS (Skalowanie)
    netsh interface tcp set global RSS = disabled

    Po stronie karty sieciowej powyższe funkcje można wyłączyć w poniższy sposób:

    1. Klikamy przycisk Start, klikamy polecenie Uruchom (lub używamy pola Wyszukaj programy i pliki), wpisujemy polecenie ncpa.cpl, a następnie klikamy przycisk OK (lub ikonę lupki).
    2. Klikamy prawym przyciskiem myszy kartę sieciową, a następnie klikamy polecenie Właściwości.
    3. Klikamy przycisk Konfiguruj, a następnie klikamy zakładkę Zaawansowane.
    4. Na liście Właściwość klikamy pozycję Skalowanie po stronie odbierającej, klikamy opcję Wyłącz na liście Wartość, a następnie klikamy przycisk OK.
    5. Na liście Właściwość klikamy pozycję Odciążanie TCP/IP (Uwaga: Różni producenci mogą używać różnych określeń dotyczących odciążania przy użyciu technologii TCP Chimney), klikamy opcję Wyłącz na liście Wartość, a następnie klikamy przycisk OK.
    6. Powtarzamy kroki od 2 do 5 dla każdej karty sieciowej.
    Więcej informacji:
    http://support.microsoft.com/kb/951037
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;948496
    http://technet.microsoft.com/en-us/library/gg162709(v=ws.10).aspx
    http://support.microsoft.com/kb/927168/pl

  5. Zarządzanie energią dla karty sieciowej.
    We właściwościach karty sieciowej (ścieżka dostępu podana we wcześniejszym punkcie) na zakładce Zarządzanie energią jest zaznaczony (domyślnie) parametr umożliwiający przejście karty sieciowej w stan uśpienia – Zezwalaj komputerowi na wyłączanie tego urządzenia w celu oszczędzania energii. Takie ustawienie może powodować utratę połączenia. Parametr można odznaczyć (zostawić pusty) – dzięki temu karta będzie włączona bez przerwy podczas pracy komputera.
  6. Problemy z bibliotekami obsługującymi połączenie do serwera (MDAC). Reinstalacja komponentów MDAC (dotyczy Windows XP).