SQL Server-Ausnahme: TCP-Provider, Fehler: 0 - Der angegebene Netzwerkname ist nicht mehr verfügbar

8

Guten Morgen!

Entschuldigung im Voraus, ich bin mir bewusst, dass ähnliche Fragen gestellt wurden, aber die Arbeit durch sie hat meine Probleme daher nicht gelöst, diesen Beitrag.

Vor dem Absenden der Ausnahmedetails folgt hier der allgemeine Überblick:

Ich habe .NET 4.0 Smart Desktop-Anwendung mit SQL Server (2005 und 2008r2) für die Datenspeicherung. In der Datenbank habe ich eine Tabelle, die protokolliert, wenn eine Entität geändert wurde. Dadurch können andere Instanzen der Anwendung nach Änderungen suchen und bestimmte Daten neu laden. Die Tabelle hat drei Felder:

%Vor%

Id ist der Primärschlüssel und es gibt einen Index für das ChangeDateTime-Feld.

Damit dies funktioniert, überprüft die Anwendung diese Tabelle in bestimmten Intervallen oder wenn Aktionen ausgeführt werden, um festzustellen, ob eine Aktualisierung stattgefunden hat, indem das letzte Änderungsdatum für eine bestimmte Entität abgerufen und mit einem intern gespeicherten Wert verglichen wird.

Die Abfrage sieht folgendermaßen aus:

%Vor%

So erhält die Tabelle nur zwei Interaktionen von laufenden Anwendungen:

  • Eine Select-Anfrage wie oben gezeigt, um das letzte update datetime für eine Entität
  • abzurufen
  • Eine Insert-Anforderung, wenn eine Entität geändert wurde, um eine neue Zeile hinzuzufügen

Das Problem ist, dass ich beim Ausführen der select-Anweisung viele Ausnahmen vom folgenden Typ erhalte:

%Vor%

Manchmal kommt es auch als:

  • TCP-Provider, Fehler: 0 - Die Semaphor-Zeitüberschreitung ist abgelaufen oder
  • TCP-Provider, Fehler: 0 - Eine bestehende Verbindung wurde vom Remote-Host zwangsweise geschlossen.

Zusätzlich bekomme ich die folgende innere Ausnahme, die mir nicht geholfen hat, das Problem einzugrenzen:

%Vor%

Ich habe verschiedene Probleme mit der Konnektivität gelesen und getestet, die nicht geholfen haben, und ich habe mich gefragt, ob etwas in der Tabelle passiert (z. B. Sperren?), was das verursacht?

Vielen Dank für das Lesen und jede Hilfe oder Hinweise würden geschätzt werden!

Mike

    
user1680766 22.12.2013, 12:54
quelle

2 Antworten

2

Sie können versuchen, das Verbindungstimeout in Ihrer Verbindungszeichenfolge zu erhöhen.

%Vor%     
Moniv 01.02.2014 20:08
quelle
0
  

URSACHE

     

Der Fehler wird durch eine Zeitüberschreitungsausnahme für lange laufende Abfragen verursacht. In früheren Versionen von Visual Studio .NET wurde die Ausnahme ordnungsgemäß als Ausnahme mit einer Zeitüberschreitungsbeschreibung dargestellt.

     

Lösung

     

Setzen Sie die Eigenschaft commandtimeout des Befehlsobjekts auf einen geeigneten Wert. Verwenden Sie den Wert Null, um zu warten, ohne dass eine Ausnahme ausgelöst wird.

Ссылка

    
Dante 21.06.2016 09:48
quelle

Tags und Links