Ik onderhoud een applicatie die al een tijdje problemen geeft bij een klant tijdens een batch van >10 uur.
De applicatie heeft als mechanisme dat bij het opstarten ODBC connectie(s) worden geopend en deze worden opengehouden zolang de applicatie draait.
De meldingen die ik van ODBC krijg zijn bv:
[Microsoft][SQL Native Client]Named Pipes Provider: The specified network name is no longer available.
[Microsoft][SQL Native Client]Communication link failure
Ik heb een 'retry' mechanisme ingebouwd, dat controleert of het allemaal gelukt is, en als dat niet zo is, verbreken we de connectie en proberen we het opnieuw. Ik merk echter dat dit erg lastig af te dichten is... En het voelt als patchen en niet als een structurele oplossing.
Ik krijg steeds meer de indruk dat het een automatisch mechanisme ergens is, dat controleert hoe lang connecties open staan en ze vervolgens nekt.
Ik heb al een paar keer gelezen dat het best practice is om connecties vlak voor het uit te voeren statement te openen, en daarna direct weer te sluiten.
Ik kan echter tussen de 13 miljard hits niet een artikel hierover vinden met argumentatie waarom.
Volgende vragen heb ik:
- Heeft iemand dezelfde ervaringen : lang open connecties + spontane verbreking?
- Heeft iemand een referentie naar leesmateriaal dat dit onderbouwd als oorzaak?
- Als iemand DE oorzaak weet houd ik me aanbevolen.
- Praktische adviezen?
Achtergrond van de testomgeving.
SQLServer 2005 draait op andere machine dan de applicatie.
Naast de 2005 draait er ook een 2000 en een 2008R2 versie, maar de connectie is naar de 2005 versie.
Er draaien meerdere applicaties parallel op de applicatie'server' met het zelfde connectie mechanisme.
Op beide machines draait Windows XP
Waarom heb ik dit onder SE&A geplaatst? Omdat het om een architecturele aanpassing gaat als ik de applicatie moet aanpassen en overal 'connect' en 'close' moet gaan inbrengen...
De applicatie heeft als mechanisme dat bij het opstarten ODBC connectie(s) worden geopend en deze worden opengehouden zolang de applicatie draait.
De meldingen die ik van ODBC krijg zijn bv:
[Microsoft][SQL Native Client]Named Pipes Provider: The specified network name is no longer available.
[Microsoft][SQL Native Client]Communication link failure
Ik heb een 'retry' mechanisme ingebouwd, dat controleert of het allemaal gelukt is, en als dat niet zo is, verbreken we de connectie en proberen we het opnieuw. Ik merk echter dat dit erg lastig af te dichten is... En het voelt als patchen en niet als een structurele oplossing.
Ik krijg steeds meer de indruk dat het een automatisch mechanisme ergens is, dat controleert hoe lang connecties open staan en ze vervolgens nekt.
Ik heb al een paar keer gelezen dat het best practice is om connecties vlak voor het uit te voeren statement te openen, en daarna direct weer te sluiten.
Ik kan echter tussen de 13 miljard hits niet een artikel hierover vinden met argumentatie waarom.
Volgende vragen heb ik:
- Heeft iemand dezelfde ervaringen : lang open connecties + spontane verbreking?
- Heeft iemand een referentie naar leesmateriaal dat dit onderbouwd als oorzaak?
- Als iemand DE oorzaak weet houd ik me aanbevolen.
- Praktische adviezen?
Achtergrond van de testomgeving.
SQLServer 2005 draait op andere machine dan de applicatie.
Naast de 2005 draait er ook een 2000 en een 2008R2 versie, maar de connectie is naar de 2005 versie.
Er draaien meerdere applicaties parallel op de applicatie'server' met het zelfde connectie mechanisme.
Op beide machines draait Windows XP
Waarom heb ik dit onder SE&A geplaatst? Omdat het om een architecturele aanpassing gaat als ik de applicatie moet aanpassen en overal 'connect' en 'close' moet gaan inbrengen...
facts don't care about your feelings