Timeout
Zuletzt geändert: 10.06.2023 08:05

Timeout bei SQL-Aufrufen #

Es gibt zwei große Bereiche für Timeout-Fehlermeldungen. Grundsätzlich sind Timeouts sinnvoll, da Operationen, die deutlich länger dauern als vorgesehen, dadurch abgebrochen werden können. Immer dann, wenn ein Prozess auf einen anderen warten muss, ist der Timeout die Möglichkeit, sich aus dem Warten abzumelden. In der Regel ist EULANDA® der Hauptprozess und der SQL-Server der Prozess, auf den in der Regel gewartet wird. Es gibt jedoch Situationen, in denen der Timeout unverhofft zu früh kommt und hierdurch der Prozess nicht zu Ende geführt wird.

  • Timeout Aufgrund einer zu komplexen Operation (Command-Timeout)
  • Timeout bei normalen Vorgängen (Connection-Timeout)

Timeout Aufgrund einer zu komplexen Operation #

Tritt ein Timeout bei komplexen Operationen auf, wie zum Beispiel beim Importieren oder Konvertieren großer Datenbestände, so kann man davon ausgehen, dass der SQL-Server zu schwach dimensioniert ist. Wichtig ist vor allem ein genügend großer Arbeitsspeicher im Server. Die Mindestgröße beträgt 4GB, der Ausbau kann aber auch 8 GB und mehr erforderlich machen; dies hängt von der Anzahl der Arbeitsplätze und dem Datenvolumen ab. EULANDA® hat für diese spezielle Timeout-Problematik den Command-Timeout gerade bei sehr komplexen Operationen auf mehrere Minuten eingestellt. Tritt der Fehler bei Statistiken usw. auf, so sollte der Server erweitert werden.

Timeout bei normalen Vorgängen #

Beim Zugriff auf die Daten, beim Programmstart oder beim Ausdrucken tritt ein Timeout-Fehler auf. Es handelt sich hier um einen Connection-Timeout.

EULANDA® baut für verschiedene Operationen eine neue SQL-Verbindung zum Server auf, dieser antwortet jedoch nicht auf die Anforderung einer neuen Verbindung.

Die Ursache ist hier im Betriebssystem und den installierten Komponenten zu suchen. Standardmäßig wird zur Kommunikation von Arbeitsplatz und Server das Protokoll TCP/IP benutzt. Einige Programme, wie Fritz! oder Ken! von AVM, benutzen ebenfalls das Protokoll. In Verbindung hiermit können Anfragen von anderen Programmen zurückgestellt werden, so dass ein Timeout-Fehler auftritt.

Empfehlung #

Wir empfehlen auf Windows® 10 umzustellen, da hier verschiedene Maßnahmen getroffen wurden, solche Konflikte zu vermeiden.

Geht dies nicht, so sollte neben TCP/IP ein weiteres Netzwerkprotokoll eingerichtet werden, z.B. „Named Pipes“ oder notfalls „NETBEUI“ oder „IPX“, je nachdem, was alternativ angeboten und technisch möglich ist.

Der SQL-Server sollte dann nicht mehr auf TCP/IP konfiguriert werden, sondern auf die neuen Protokolle. Das Programm zur Konfiguration des SQL-Servers kann direkt aus dem EULANDA® Startmenü über den Punkt „Verwaltung“ mit der rechten Maustaste aufgerufen werden. Dies geht nur, wenn EULANDA® auf dem PC ausgeführt wird, der auch den SQL-Server ausführt.

Entfernen Sie dort das TCP/IP-Protokoll und fügen Sie das neue Protokoll hinzu.

Alle Arbeitsplätze müssen ebenfalls umkonfiguriert werden. Hierzu einmal in der Netzwerkumgebung das neue Protokoll einstellen (NETBEUI oder IPX) und in der jeweiligen EULANDA® im Startmenü die Client-Anbindung ebenfalls auf das im Server benutzte Protokoll umstellen und das TCP/IP-Protokoll entfernen.

Falls nach der Umstellung keine Verbindung zum SQL-Server zustande kommt, so überprüfen Sie die UDL-Datei der Datenbankanbindung auf der Arbeitsplatzseite. Hierzu mit der rechten Maustaste auf dem Mandanteneintrag des grünen Startmenüs den Punkt „UDL-Datei“ anwählen.

Prüfen Sie nach der Änderung auf der Karteikarte „Verbindung“ und der dort befindlichen Schaltfläche „Verbindung testen“, ob eine Verbindung zum SQL-Server ohne Fehler aufzubauen ist.

Sollten Sie an der UDL-Datei Änderungen durchgeführt haben, so muss EULANDA® erneut gestartet werden, damit diese Änderungen berücksichtigt werden können.