-
Connection perdue ...
Bonjour,
J'ai un pb de perte de connection BDD ...
Lors du lancement de mon appli, pas de pob, je me connecte bien sur ma base (Oracle ou SQL Server).
Si je l'utilise régulièrement, pas de pb, mais si je ne l'utilise pas pendant x heures (ou que mon serveur BDD reboote) j'ai des message d'erreur de connection Bdd ...
Je pense qu'on a peut-être un time out sur le serveur BDD ... ??? Mais même si c'est cela, je croyais que XMLRAD était capable de restaurer une connection perdue ???
-
Confirmation, j'ai eu le même problème
-
Effectivement, j'ai déjà entendu parler de ce probleme sur SQLServer, mais je n'ai jamais pu le reproduire chez moi...
En l'occurence, il semblererait (rien n'est sûr, sur ce probleme) que ce soit le serveur qui ferme la connexion, sans "prévenir" l'application en face. Normallement, lorsque l'appli XMLRAD se rend compte qu'il n'arrive plus à se connecter, un flag est mis à jour en mémoire et la requete suivante force une reconnexion. On ne sait pas trop si ce mécanisme fonctionne correctement...
Tu peux imaginer un ptit exe qui lance régulierement une requete http sur une action. c'est précaire, mais ca peut etre utile le temps qu'on trouve une solution plus propre...
Je fouille et je post si j'ai d'autres infos.
-
C'est en effet la solution que j'ai déjà mis en place afin de résoudre ce pb (provisoirement)
Pour le reproduire, rien de plus simple :
- Lance ton appli
- Arrête le service SQL Server
- Relances-le
- Recliques sur un lien de ton appli (faisant référence à la BDD evidemment)
et là, normalement, bingo, ça plante !!!
-
Ce que tu décris en arretant la BDD est normal, la connexion est perdue et du coté de l'appli il pense que la conenxion est toujours la. mais le framework peut essayer de rattraper le coup. il faut rafrachir 2 ou 3 fois, et il retentera une nouvelle connexion.
Mais j'avoue que la perte de connexion sur x heures d'inactivité est plus embetante et ne devrait pas arriver. Je n'ai jamais eu de problème de ce genre avec un serveur BDD sur la meme machine que l'appli. je pense que c'est dans le cas d'un serveur BDD déporté.
-
humm, j'ai beau essayer de rafraichir, rien ne se passe et je tombe dans le style de message suivant :
TDacDatabase.StartTransaction - Impossible de démarrer d'autres transactions pour cette session
Pour l'inactivité, c'est en effet sur des machines différentes à chaque coup ... (et je n'ai pas le même pb si c'est sur la même machine)
Remarque pertinente !!