Vous n'êtes pas identifié(e).
Pages : 1
Salut à tous,
J’ai besoin d’aide pour faire une reconnexion automatique à la base de données,
je vous explique, nous travaillons avec une base pg sur le réseau ce dernier n’est pas stable de tout, en fait le handle de connexion à la bdd est perdu à chaque coupure réseaux, comme ça je suis obliger de redémarrer tous les applications pour se connecter de nouveau.
pour le moment je fais ce test est je ne s'ai pas si c'est le bon code ou non ?
res = PQexec(conn,cSQL);
if ((PQresultStatus(res) == PGRES_BAD_RESPONSE) || (PQresultStatus(res) == PGRES_FATAL_ERROR))
{
status = MessageBox(vchwnd,"Notre système a détecté un problème de connexion réseaux \nVoulez-vous tenter de vous reconnecter à la base de données ?","PostgreSQL :",MB_YESNO + MB_ICONQUESTION);
if(status == IDYES)
{
//ici j'appelle la fonction de connexion
}
}
MERCI d'avance
Cordiales Salutations
Hors ligne
En fait, à partir du moment où vous n'avez pas PGRES_TUPLES_OK, vous pouvez vous poser des questions sur la connexion. Vous pouvez aussi utiliser PQstatus pour ça.
Guillaume.
Hors ligne
MERCI Guillaume,
Effectivement j'ai déjà fais un test sur PGRES_TUPLES_OK avant de poser la question.
Bon voila ce que je voudrais savoir :
Si j’ai une table nommé test avec deux champs nom,prenom
1 er cas :
Si j’envoie cette requête au serveur
SELECT nom,prenom FROM test
La si il y a un problème réseau c’est normal d’afficher le message de reconnexion.
2 ème cas :
Si j’envoie cette requête au serveur
SELECTx nom,prenom FROM test
La il y a un erreur SQL c’est SELECTx par contre le message indique un problème réseau
Je résume je voudrais savoir si il y a un code d’erreur relative a l’echec de connexion au serveur (pas d’erruer fatal comme PGRES_FATAL_ERROR
Ou autre …)
Dernière modification par NOURI (30/01/2011 18:48:47)
Cordiales Salutations
Hors ligne
ça c'est le bon test ou non ?
if (PQstatus(conn) != CONNECTION_OK)
{
if(MessageBox(vchwnd,"Notre système a détecté un problème de connexion réseaux \nVoulez-vous tenter de vous reconnecter à la base de données ?","PostgreSQL :",MB_YESNO + MB_ICONQUESTION) == IDYES)
{
//ici j'appelle la fonction de connexion
}
}
MERCI pour le retour
Dernière modification par NOURI (30/01/2011 16:31:04)
Cordiales Salutations
Hors ligne
Oui, c'est le bon test.
Guillaume.
Hors ligne
MERCI Guillaume
Merci pour tous vos renseignements
Cordiales Salutations
Hors ligne
Pages : 1