Op dit moment ben ik al ruim een dag een Forms (C#) applicatie aan het debuggen die sinds de jaarwisseling niet meer correct werkt. Op één of andere gekke manier gooit deze een timeout exceptie als ik een record wil updaten in een SQL 2000 Server.
De werking is als volgt:
Er staan 2 buttons. Button1 "Count Open Records" en Button2 "Process Open Records".
Button1 voert een Count op de view "view_GetOpenRecords" en Button2 loopt door de dataset heen en schrijft bepaalde zaken in een textfile weg en vervolgens een update van het record.
Zodra Button1 uitgevoerd is (+/- 1 seconde), is het gebruikelijk om daarna meteen Button2 uit te voeren.
Button1 voert zijn werk gewoon netjes uit maar bij Button2 krijg ik een timeout exception in een method ("UpdateRecord") welke aangeroepen wordt per record:
Ik zit er nu al een poosje mijn hoofd over te breken maar ik heb geen flauw idee meer waar dit aan kan liggen.
Wat heb ik gedaan/bekeken:
- Beide Methods maken gebruik van dezelfde Connectionstring.
- De SQL 2000 server heeft op z'n hoogst 50 open user connections.
- De Connectionstring is goed anders werkt Button1 ook niet
- De Timeout op de SQL server is vziw weet nog default (30 sec?)
- Tig keer door de Method Update gestepped, en iedere keer op "ExecuteNonQuery" komt de timeout
- De SQL Query is
- Daar het sinds de jaarwisseling is, dacht ik aan een datum probleem, maar de datum wordt in het ISO format in de db geplaatst en vziw heeft deze geen known bugs met het jaar 2007
Hetgeen wat ik nog wil doen is de SQL query omschrijven met parameters, maar ik zie niet in waarom dit met een Timeout exceptie zou moeten komen.
Ik heb werkelijk waar geen idee meer waar ik dit nu in moet zoeken.
De werking is als volgt:
Er staan 2 buttons. Button1 "Count Open Records" en Button2 "Process Open Records".
Button1 voert een Count op de view "view_GetOpenRecords" en Button2 loopt door de dataset heen en schrijft bepaalde zaken in een textfile weg en vervolgens een update van het record.
Zodra Button1 uitgevoerd is (+/- 1 seconde), is het gebruikelijk om daarna meteen Button2 uit te voeren.
Button1 voert zijn werk gewoon netjes uit maar bij Button2 krijg ik een timeout exception in een method ("UpdateRecord") welke aangeroepen wordt per record:
code:
1
2
3
| System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() |
Ik zit er nu al een poosje mijn hoofd over te breken maar ik heb geen flauw idee meer waar dit aan kan liggen.
Wat heb ik gedaan/bekeken:
- Beide Methods maken gebruik van dezelfde Connectionstring.
- De SQL 2000 server heeft op z'n hoogst 50 open user connections.
- De Connectionstring is goed anders werkt Button1 ook niet
- De Timeout op de SQL server is vziw weet nog default (30 sec?)
- Tig keer door de Method Update gestepped, en iedere keer op "ExecuteNonQuery" komt de timeout
- De SQL Query is
SQL:
1
| update tbl_Rec set proces = 1, procesDatum = '20070103' where RecordId = 2800241 |
- Daar het sinds de jaarwisseling is, dacht ik aan een datum probleem, maar de datum wordt in het ISO format in de db geplaatst en vziw heeft deze geen known bugs met het jaar 2007
Hetgeen wat ik nog wil doen is de SQL query omschrijven met parameters, maar ik zie niet in waarom dit met een Timeout exceptie zou moeten komen.
Ik heb werkelijk waar geen idee meer waar ik dit nu in moet zoeken.
Heart..pumps blood.Has nothing to do with emotion! Bored