| 
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile  |  
  |    |    |   |   |   | 
| Débuté par Sauveur CONSALVI, 26 jan. 2021 12:58 - 13 réponses |  
  |   |  
  |    |    |   |  
  |   
 |   | 
Membre enregistré 400 messages |  
  |   
| Posté le 26 janvier 2021 - 12:58 |  
 Bonjour, La sauvegarde de la base est bien effectuée Mais quand je veux faire une restauration, j'ai l'erreur :
 
  
  La restauration ne peut se faire car la connexion utilise toujours la base .... Pourtant j'ai fermé les fichiers et la connexion
 gbOK=HFerme("*") SI gbOK=Faux ALORS   Beep()   Erreur("Erreur lors de la des fichiers",ErreurInfo(errComplet))   RETOUR FIN gbOK=HFermeConnexion("gNomConnexion") Info(HErreur()) SI gbOK=Faux ALORS   Beep()   Erreur("Erreur lors de la fermeture de la connexion au serveur",ErreurInfo(errComplet))   RETOUR FIN SI HRestaureSauvegarde(gNomConnexion, 21) = Faux ALORS   Erreur("Échec de la restauration de la sauvegarde" + HErreurInfo(hErrMessage)) FIN 
  Quel est mon erreur ? Merci d'avance Cordialement SC
  -- Cordialement SC |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 292 messages |  
  |   
| Posté le 26 janvier 2021 - 13:17 |  
 Lol ta sûrement une application qui tourne ou à 100% ta laissé ton centre de contrôle ouvert
  -- Maître de la POO |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 400 messages |  
  |   
| Posté le 26 janvier 2021 - 17:51 |  
 Je crois que le problème vient que je suis en exécution en débogage du projet Je ne sais pas bien m'exprimer, car je ne suis pas un spécialiste "système", mais je pense que l'analyse du projet garde la connexion à la base ouverte, et du coup je ne peux faire cette restauration Je vais essayer en faisant une installation puis une exécution
  -- Cordialement SC |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 214 messages |  
  |   
| Posté le 27 janvier 2021 - 15:59 |  
 | Ca peut arriver que tes fichiers soient bloqués par Windev.exe ou par wdTest.exe, dans ce cas tu n'as pas d'autre choix que de fermer Windev (ou juste killer WdTest si il est planté). |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 400 messages |  
  |   
| Posté le 29 janvier 2021 - 12:18 |  
 Je ne pense pas que cela soit la cause, car généré l’exécutable, fermé windev, et lancer avec la même rerreur
  -- Cordialement SC |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 949 messages |  
  |   
| Posté le 29 janvier 2021 - 12:36 |  
 Coucou,
  Essaye de changer 
 gbOK=HFermeConnexion("gNomConnexion")  par
 gbOK=HFermeConnexion(gNomConnexion)  --- #lapiraterienestjamaisfinie #AujourdhuicmonANNIVERSAIRE |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 400 messages |  
  |   
| Posté le 29 janvier 2021 - 17:19 |  
 Je me suis déjà aperçu de cette erreur, et idem ............
  -- Cordialement SC |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 81 messages |  
  |   
| Posté le 11 juin 2022 - 03:01 |  
 Bonjour Sauveur,
  Je rencontre le même problème, as-tu trouvé une solution ?
  J'ai créé une connexion spécifique pour restaurer la BD. Je ferme la connexion en cours avant de lancer HRestaureSauvegarde avec la connexion spécifique. Je lance la restauration depuis l'appli compilée. Windev est fermé. La console HFSQL est fermée.
  Une idée ?
  Merci,
  Patrice
  -- ----------- WD 27 HFSQL Windows 10 |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 2 290 messages |  
  |   
| Posté le 11 juin 2022 - 09:08 |  
 Bonjour,
  1. Selon l'Aide en ligne, il n'est pas nécessaire de fermer la connexion en cours.
  2. Peux-tu : - montrer ton code, - montrer le message d'erreur (erreur sur la connexion initiale ou la nouvelle ?).
  3. Parfois, le message d'erreur n'est pas le "bon"... Vérifie les droits de l'utilisateur. Extrait de l'Aide : "Droits nécessaires pour restaurer une sauvegarde Pour restaurer une sauvegarde, l'utilisateur ou le groupe doit posséder : - le droit de faire des sauvegardes (constante hDroitSauvegarde). Ce droit s'applique aux serveurs et aux bases de données. - e droit de bloquer la base de données (constante hDroitBlocage). Ce droit s'applique aux bases de données."
  -- Bon dev, Jean-Pierre |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 81 messages |  
  |   
| Posté le 12 juin 2022 - 00:42 |  
 Bonjour Jean-Pierre,
  Merci pour ton message.
  Ce n'est pas un problème de droits, la restauration fonctionne si je me rends directement sur l'écran qui la gère. Dans cet écran, je crée une connexion spécifique pour la restauration, sans spécifier de base de données car j'aurais un conflit. La procédure fonctionne : elle ferme la connexion en cours à la base et effectue la sauvegarde avec la connexion spécifique.
  Le souci apparaît lorsque je manipule le programme et qu'après je tente une restauration. Grâce à la console HFSQL, j'ai pu remarquer que mon appli génère plusieurs connexions à la base de données, sans doute parce que j'utilise le système de gestion automatique des connexions et des fenêtres internes avec contexte SQL indépendant.
  Qu'à cela ne tienne, je me dis que je peux fermer toutes les connexions existantes avant de lancer la restauration. Grâce à une boucle, je peux fermer les connexions en cours ... sauf une, celle qui bloque.
 sListeConnexions = HListeUtilisateurConnecté(gsNomConnexionEnCours) ChaîneVersTableau(sListeConnexions,tabListeConnexions)
  POUR i = 1 À tabListeConnexions.Occurrence()  bOK1 = HFermeConnexion(gsNomConnexionEnCours) FIN  La fonction HDéconnecteClient n'a pas d'effet. Depuis la console HFSQL, je peux fermer cette connexion récalcitrante, mais on dirait que je ne peux le faire depuis mon appli.
  Merci pour ton aide. Cordialement,
  Patrice
  -- ----------- WD 27 HFSQL Windows 10 |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 2 290 messages |  
  |   
| Posté le 12 juin 2022 - 10:27 |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
| Posté le 28 octobre 2025 - 13:11 |  
 a écrit : 
 Bonjour Patrice, En ce qui concerne les droits, je suppose que tu as testé avec le même utilisateur que celui utilisé pour la connexion...    Au besoin, teste les droits ... En ce qui concerne les nombreuses connexions générées par le programme, cela est "sta    .........
 
 // Sauvegarde
  // Fermeture de la connexion SI HFermeConnexion(Nouvelle_connexion) = Faux ALORS Erreur(HErreurInfo()) SINON Multitâche(100) FIN   // Restauration de la sauvegarde SI HRestaureSauvegarde(Nouvelle_connexion, gnIDSvg) = Faux ALORS Erreur("Echec de la restauration de la sauvegarde" + HErreurInfo(hErrMessage)) VersPressePapier(HErreurInfo()) SINON Info("Restauration effectuée avec succès") FIN [/code]
  Simplifie ton code dans un programme séparé pour qu'il ressemble à cela.
  Si le problème persiste, je te suggère d'ouvrir un ticket auprès du Support.
  -- Bon dev, Jean-Pierre 
  Bonjour Jean-Pierre, après quelques années, je suis tombé sur ton code, je n'ai pas trouve de post plus récents.
  Le code que tu as écrit fonctionne parfaitement ; c'est la bonne solution. Cependant, si tu utilise le 'GROUPWARE', cela ne fonctionne pas. On as deux connection au même DB, connexion logiciel et connection groupware. Avec « HFermeConnexion(<nomdelaconnexion>) » tu ferme seulement la  connexion logiciel et la connection groupware reste toujour ouverte, donc on peut pas restaurer.
  Cette connexion ne peut être fermée que depuis le centre de contrôle HFSQL, mais pas depuis le code. (Du moins, je n'y suis pas encore parvenu.) Une idée de comment faire ?
  Merci Giacomo Navarra |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 2 290 messages |  
  |   
| Posté le 29 octobre 2025 - 08:08 |  
 Bonjour Giacomo,
  Je te propose une solution dont je ne suis pas sûr de l'efficacité : 1. Déconnecter le groupware, 2. Effectuer la restauration avec un user Admin ou "Sauvegarde" (créé spécialement à cet usage). 3. Reconnecter le groupware.
  -- Bon dev, Jean-Pierre |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 26 messages |  
  |   
| Posté le 29 octobre 2025 - 09:50 |  
 | Quand j'avais ce problème de connexion j'arrêtais le serveur HF-CS. |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |    |   |  
  |    |  |  
  |   |   |  
  |  |  
  |  
  |  
  |