Al enkele jaren ontwikkel ik diverse applicaties die gebruik maken van een database. Deze databases zijn veelal MSDE of SQL-server. De ontwikkeltaal is VB6 en de connecties worden middels ADO tot stand gebracht; geen ADO.Net voor alle duideijkheid. Momenteel ben ik mezelf C# aan het aanleren en heb e.e.a. gelezen over ADO.Net en de connection-pooling.
De verbinding met de database wordt bij het starten van het programma opgezet en pas afgesloten als het programma wordt afgesloten. Nu heb ik ook een aantal programma's die eigenlijk 24/7 operationeel zijn, en dus een continue database-verbinding hebben (soort database-conversie tooltjes). Als de MSDE-server wegvalt (onderhoud aan de server o.i.d.), dan loopt het programma, logischerwijs, vast omdat deze database niet meer benaderd kan worden.
Oplossing hiervoor is om de databaseverbinding pas tot stand te brengen als het daadwerkelijk nodig is. ( Bij programma's die pollen of b.v. een uur geen database-calls hebben). Na de SQL-acties (select,insert,update), kan de databaseverbinding weer afgesloten worden. Als de database dan niet gevonden of geopend kan worden, gewoon negeren en b.v. 5 minuten later weer proberen.
Graag zou ik willen weten of bovenstaande een juiste benadering is, welke negatieve effecten dit kan hebben en of er eventueel alternatieven zijn.....
De verbinding met de database wordt bij het starten van het programma opgezet en pas afgesloten als het programma wordt afgesloten. Nu heb ik ook een aantal programma's die eigenlijk 24/7 operationeel zijn, en dus een continue database-verbinding hebben (soort database-conversie tooltjes). Als de MSDE-server wegvalt (onderhoud aan de server o.i.d.), dan loopt het programma, logischerwijs, vast omdat deze database niet meer benaderd kan worden.
Oplossing hiervoor is om de databaseverbinding pas tot stand te brengen als het daadwerkelijk nodig is. ( Bij programma's die pollen of b.v. een uur geen database-calls hebben). Na de SQL-acties (select,insert,update), kan de databaseverbinding weer afgesloten worden. Als de database dan niet gevonden of geopend kan worden, gewoon negeren en b.v. 5 minuten later weer proberen.
Graag zou ik willen weten of bovenstaande een juiste benadering is, welke negatieve effecten dit kan hebben en of er eventueel alternatieven zijn.....