Probleme base de donnée fermée

Résolu
Signaler
Messages postés
46
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
26 juillet 2007
-
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011
-
Bonjour,
Je dois faire la maintenance d'un service windows en C# qui démarre tous les jours à 8h du matin, ce service accède à une base de données oracle.
Le problème est lors d'une maintenance sur le réseau, la base était fermée le matin et le service à démarré.Et il a bloqué justement car la base était fermée.
Pourtant dans le code il y a un bien un try catch en cas d'erreur.
comme suit :

try
{


laConnection.Open();


ouvrirOk = true;


}


catch (OracleException exOracle) {


ouvrirOk = false;


}


catch (Exception autresExceptions) {


ouvrirOk = false;


}
et il bloque à Connection.Open car dans le journal des logs il n'y a pas de traces après cet endroit.

Ce que je veux faire c'est que le service ne bloque pas à cet endroit si la base est arretée.
Une solution m'aiderait ou des idées merci.

7 réponses

Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

En admettant que ça ne résolve pas ton problème, le seul moyen d'arrêter du code bloqué est de la lancer dans un thread séparé et de tuer le thread le moment désiré.

Vérifie tout de même la valeur de laConnection.ConnectionTimeout et mieux encore, met à jour ton middleware Oracle.

Poppyto http://www.poppyto.net LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Essaye laConnection.ConnectionTimeout

Poppyto http://www.poppyto.net LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#
Messages postés
46
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
26 juillet 2007

Dans la chaîne de connection elle était déjà initialisé à 120 =>Connection Timeout=120
Messages postés
46
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
26 juillet 2007

Ok, merci c' est ce que j'ai fait, j'ai englobé une grosse fonction dans un thread.
Ce sera au client de tester
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Héhé, normalement c'est pas ton boulot de faire les tests avant de livrer le produit au client ?

Poppyto http://www.poppyto.net LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#
Messages postés
46
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
26 juillet 2007

Lol si mais moi je fais des tests pour voir si ça marche de mon côté après chez le client, ils le mettent en recette et donc on verra si y'a pas de plantage là-bas (normalement non cette fois)
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

OkOk bonne intégration alors ^^ et bons débugs .

Poppyto http://www.poppyto.net LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#