verwendetes Datenbanksystem: MS SQL Server 2008 R2
Hi,
ich rufe eine gespeicherte Prozedur über ein C#-Programm auf. Ich bekomme nach einiger Zeit folgenden Fehler:
Fehlermeldung:
Timeout ist abgelaufen. Das Zeitlimit wurde vor dem Beenden des Vorgangs überschritten oder der Server reagiert nicht.
Ich verumte dass das daran liegt, dass die Prozedur ca 70 min. dauert. Das ist durchaus in Ordnung, denn hier werden Daten von einem Produktionssystem auf den SQL-Server geschaufelt.
Kurz laufende Prozeduren laufen problemslos durch.
Wie kann ich meiner Connection sagen, dass sie keinen Timout werfen soll?
ConnectionTimeout=0 und ConnectionLifetime=0 hab ich schon versucht
Danke Oli
Viele Grüße, Oli
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Hi,
besten Dank, so funktioniert es.
Danke auch für den Link, was ich aber nicht gefunden habe ist wo denn nun dieser Timeout ausgelöst wird. Macht das die Command-Klasse oder die Datenbank? Wenn es von der Datenbank verwaltet wird, kann man das doch sicher gobal einstellen, oder?
Das wäre in meinem Fall schon praktisch, denn ich verwende einige fertige Bibliotheken, die ebenfalls auf diese Prozedur zurückgreifen, wenn es erforderlich ist. Hier würde ich mir doch ein bisschen Zeit sparen, wenn es über die DB einstellbar wäre...
Grüße Oli
Viele Grüße, Oli
Hallo oli001,
das CommandTimeout ist eine Client-Sache, also kann auf dem Server hier nichts global eingestellt werden. Es sei denn ich hab mich geirrt 😉.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Alles klaro, dacht ich mir schon.
Dann dank ich Dir und mach mich gleich mal an die Arbeit 🙁
Viele Grüße, Oli