IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Firebird Discussion :

La fermeture d'une Base de données FireBird dure longtemps


Sujet :

Firebird

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 94
    Points : 73
    Points
    73
    Par défaut La fermeture d'une Base de données FireBird dure longtemps
    Bonjour,
    J'utilise FireBird 2.5 32 Bits sous Windows pro 7 64 bits avec Delphi 7.
    J'ai développé une application qui utilise une Base de Données FireBird. Tout se passe bien.
    Sauf que quand je quitte mon application, le système met beaucoup de temps avant de redonner la main et ce même quand je ne fais aucune écriture sur la Base de Données.
    merci par avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par Francis Voir le message
    J'utilise FireBird 2.5 32 Bits sous Windows pro 7 64 bits avec Delphi 7.
    étonnant alors que tu postes sur Interbase alors que le forum Firebird existe , je migre le sujet dans la bonne section

    Sauf que quand je quitte mon application, le système met beaucoup de temps
    cela n'a certainement rien à voir avec Firebird , mais plutôt avec ton programme
    1- quels composants sont utilisés
    2- les transactions s'il y en a sont-elles fermées (même BDE en fait , même si elles sont cachées)
    3- les Datasets sont ils fermés
    4- la base est-elle fermée

    en bref que se passe t-il dans le onClose ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 94
    Points : 73
    Points
    73
    Par défaut
    J'utilise les composants : IB
    Voici le code de fermeture de mon application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Try
         Ibquery1.Close;
         Ibquery2.Close;
         Ibquery3.Close;
         IBTransaction1.Active := False;
         IBDataBase1.Connected := False;
     Except
     End;  
     Application.terminate;
     Close;
    A moins que ces composants posent problème, il n'y a rien de spécial dans mon programme.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    re

    Si la forme qui utilise ce code est la forme principale , le Application.Terminate est de trop
    dans le cas contraire le Close est de trop
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 94
    Points : 73
    Points
    73
    Par défaut
    Je rappelle que le problème posé est le temps mis après la fermeture de la base pour libérer le programme.
    J'ai ajouté ces instructions pour forcer le programme à libérer la Base de Données.
    Ce n'est pas la cause du problème.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    J'avais très bien compris le problème .
    j'ai un paquets de programmes Delphi (des versions 3 à XE4 en passant par 7 et 2010) utilisant Firebird et je n'ai jamais eu ce problème avec Firebird
    Conclusion : ce n'est pas Firebird le coupable mais plutôt la codification .
    Comment , avec ce bout de programme , peut t-on trouver quoique ce soit d'autre ? où sont les traces temps qui permettrait de dire "c'est ici" ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 902
    Points : 6 026
    Points
    6 026
    Par défaut
    Au titre des interrogations préalables, j'ajouterai:
    1. Quelle est l'architecture de ton application ? (local, C/S: topologie du réseau)
    2. Si l'appli est fermée immédiatement après le lancement, la latence est-elle aussi observée?
    3. Lancer l'appli depuis l'EDI ou depuis l'EXE généré a-t il le même effet ?

    Merci.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  8. #8
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 94
    Points : 73
    Points
    73
    Par défaut
    Je suis en phase de développement. La Base est en local.
    Le même résultat est observé avec l'EXE ou l'IDE.

Discussions similaires

  1. Connexion à une base de données Firebird
    Par Mister Nono dans le forum iReport
    Réponses: 1
    Dernier message: 27/11/2007, 17h09
  2. compresser une base de données firebird
    Par QAYS dans le forum Administration
    Réponses: 4
    Dernier message: 12/05/2007, 12h05
  3. Compacter une base de données Firebird
    Par defluc dans le forum Débuter
    Réponses: 1
    Dernier message: 01/03/2007, 09h20
  4. Comment on connecte un programme Java avec une base de données FireBird?
    Par Gomez dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 16/02/2007, 10h21
  5. Création d'une base de données Firebird
    Par richard038 dans le forum Bases de données
    Réponses: 7
    Dernier message: 30/11/2005, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo