Probleme base de donnée fermée

Résolu
ultima_93 Messages postés 46 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 26 juillet 2007 - 2 févr. 2006 à 15:04
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011 - 6 févr. 2006 à 09:33
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

cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
2 févr. 2006 à 17:17
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#
3
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
2 févr. 2006 à 16:42
Essaye laConnection.ConnectionTimeout

Poppyto http://www.poppyto.net LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#
0
ultima_93 Messages postés 46 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 26 juillet 2007
2 févr. 2006 à 17:10
Dans la chaîne de connection elle était déjà initialisé à 120 =>Connection Timeout=120
0
ultima_93 Messages postés 46 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 26 juillet 2007
6 févr. 2006 à 09:23
Ok, merci c' est ce que j'ai fait, j'ai englobé une grosse fonction dans un thread.
Ce sera au client de tester
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
6 févr. 2006 à 09:27
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#
0
ultima_93 Messages postés 46 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 26 juillet 2007
6 févr. 2006 à 09:30
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)
0
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
6 févr. 2006 à 09:33
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#
0
Rejoignez-nous