Optima błąd podłączenia do sieci
Optima błąd podłączenia do sieci
Wystąpił błąd związany z siecią lub wystąpieniem podczas ustanawiania połączenia z serwerem programu SQL Server. Nie można odnaleźć serwera lub jest on niedostępny. Sprawdź, czy nazwa wystąpienia jest poprawna i czy konfiguracja serwera programu SQL Server zezwala na połączenia zdalne. (provider: SQL Network Interfaces, error: 26 - Błąd podczas lokalizowania określonego serwera/wystąpienia)
Szczegóły
System.Data.SqlClient.SqlException (0x80131904): Wystąpił błąd związany z siecią lub wystąpieniem podczas ustanawiania połączenia z serwerem programu SQL Server. Nie można odnaleźć serwera lub jest on niedostępny. Sprawdź, czy nazwa wystąpienia jest poprawna i czy konfiguracja serwera programu SQL Server zezwala na połączenia zdalne. (provider: SQL Network Interfaces, error: 26 - Błąd podczas lokalizowania określonego serwera/wystąpienia)
w Optima.Common.DataAccess.SqlClient.OpSqlConnection.Open()
w Optima.Common.Logic.Services.LoginService.GetOperatorProperties(String operatorName, Boolean setCompanyName)
w Optima.Common.Logic.Services.LoginService.GetDefaultLoginProperties()
w Optima.Main.View.Presenters.MainPresenter.SetupDataContext(Boolean needReload)
w Optima.Main.View.WinForms.MainView.LoginUser()
w Optima.Main.View.WinForms.MainView.OnLoad(EventArgs )
w System.Windows.Forms.Form.OnCreateControl()
w System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
w System.Windows.Forms.Control.CreateControl()
w System.Windows.Forms.Control.WmShowWindow(Message& m)
w System.Windows.Forms.Control.WndProc(Message& m)
w System.Windows.Forms.ScrollableControl.WndProc(Message& m)
w System.Windows.Forms.Form.WmShowWindow(Message& m)
w System.Windows.Forms.Form.WndProc(Message& m)
w DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
w Optima.Common.View.WinForms.OpBaseMainView.WndProc(Message& m)
w Optima.Main.View.WinForms.MainView.WndProc(Message& )
w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20
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.
Ponadto problem ten może mieć następujące przyczyny:
- 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. - 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). - 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 pyt. 17) 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. - 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 = disabledPo 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 - 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. - Problemy z bibliotekami obsługującymi połączenie do serwera (MDAC). Reinstalacja komponentów MDAC (dotyczy Windows XP).