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

Bases de données Delphi Discussion :

configuration de la base interbase ?


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut configuration de la base interbase ?
    bonjour
    comment faire pour tester la connection avec la base de donnees interbase au demarrage de l'aplication si le test ok affichage de la form principale sinon on affiche une fiche de configuration qui est relier a un fichier ini .

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    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 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Pourquoi ne pas tester avant tout la présence du fichier INI ?
    "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

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    lorsque le chemin vers la base est incorrect dans le fichier ini ce message s'affiche :
    exception EIBINTERBASEERROR in module projet.exe at 00120D96
    I/O error for file "(..../db.gdb) " Error while trying to oppen file
    le chemin d'accès spécifié est introuvable .

    et l'application ne démarre pas ?
    je veut savoir si on peut empêcher la fermeture de l'application pour que on accède a une fiche pour configurer correctement la base de données et redémarrer l'application .

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    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 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    dans ce cas pourquoi ne pas tester l'existence du fichier directement (FileExists)
    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 à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    le ficher je suis sur qu'il existe mais je veut vérifier le chemin vers la base s'il est correct sinon on affiche une form de configuration
    est il possible de tester ?Et comment ? merci

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    peut on tester la présence de la base de données avec FileExists même si la base se trouve sur un serveur distant ?

  7. #7
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par taze1 Voir le message
    peut on tester la présence de la base de données avec FileExists même si la base se trouve sur un serveur distant ?
    La réponse est non, puisque en théorie la base de données est censée être dans un dossier non partagé.

    En fait ton problème n'est pas un problème Interbase, mais de gestion d'erreur au sein de ton application.
    Intercepte l'erreur à la tentative de connexion et lors de l'échec, et suivant le code d'erreur renvoyé, réagit en conséquence.

    @+ Claudius.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    exist-il une fonction pour intercepter l'erreur lors de la tentative de connexion a la base de donnees ? (j'ai chercher et j'ai rien trouver )

  9. #9
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Oui certainement, mais cela dépend du langage/EDI que tu utilises.
    C'est dans le forum correspondant qu'il faut poser ta question.

    @+

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Oui certainement, mais cela dépend du langage/EDI que tu utilises.
    C'est dans le forum correspondant qu'il faut poser ta question.

    @+
    j'utilise delphi7 comme EDI et le sgbd Interbase si vous pouvez déplacer la discussion vers ce forum peut etre j'aurai la réponse

  11. #11
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut
    Citation Envoyé par taze1 Voir le message
    exist-il une fonction pour intercepter l'erreur lors de la tentative de connexion a la base de donnees ?
    Inclus ta tentative de connexion dans un bloc Try-Except, et suivant le code d'erreur retourné réagit en conséquence.

    Un exemple tout simple qui se contente de renvoyer un message précisant la nature de l'échec.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
      uses IB, IBErrorCodes;
     
      // ...
     
      try
        IBDatabase1.Connected := True;
      except
        on E: EIBInterBaseError do
          case E.IBErrorCode of
            isc_unavailable:  MessageDlg('La base de données n''est pas disponible !',
                                         mtError, [mbOK], E.HelpContext);
            isc_io_error:     MessageDlg('La base de données est introuvable !' + #13#10 +
                                         'Fichier: ' + FDataSource,
                                         mtError, [mbOK], E.HelpContext);
            isc_login:        MessageDlg('Nom d''utilisateur ou mot de passe incorrect !',
                                         mtError, [mbOK], E.HelpContext);
            isc_shutdown:     MessageDlg('La base de données est éteinte et reservée à ' +
                                         'l''administrateur système.' + #13#10 +
                                         'Essayez de vous reconnecter ultérieurement.',
                                         mtInformation, [mbOK], E.HelpContext);
            else              MessageDlg('Erreur n° ' + IntToStr(E.IBErrorCode) + #13#10 +
                                         E.Message,
                                         mtError, [mbOK], E.HelpContext);
          end
        else
          raise;
      end;
    A adapter à tes besoins.

    @+ Claudius

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Salut


    Inclus ta tentative de connexion dans un bloc Try-Except, et suivant le code d'erreur retourné réagit en conséquence.

    Un exemple tout simple qui se contente de renvoyer un message précisant la nature de l'échec.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
      uses IB, IBErrorCodes;
     
      // ...
     
      try
        IBDatabase1.Connected := True;
      except
        on E: EIBInterBaseError do
          case E.IBErrorCode of
            isc_unavailable:  MessageDlg('La base de données n''est pas disponible !',
                                         mtError, [mbOK], E.HelpContext);
            isc_io_error:     MessageDlg('La base de données est introuvable !' + #13#10 +
                                         'Fichier: ' + FDataSource,
                                         mtError, [mbOK], E.HelpContext);
            isc_login:        MessageDlg('Nom d''utilisateur ou mot de passe incorrect !',
                                         mtError, [mbOK], E.HelpContext);
            isc_shutdown:     MessageDlg('La base de données est éteinte et reservée à ' +
                                         'l''administrateur système.' + #13#10 +
                                         'Essayez de vous reconnecter ultérieurement.',
                                         mtInformation, [mbOK], E.HelpContext);
            else              MessageDlg('Erreur n° ' + IntToStr(E.IBErrorCode) + #13#10 +
                                         E.Message,
                                         mtError, [mbOK], E.HelpContext);
          end
        else
          raise;
      end;
    A adapter à tes besoins.

    @+ Claudius
    je ne sait pas ou mettre ce code (dans le datamodule peut être)

  13. #13
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par taze1 Voir le message
    je ne sait pas ou mettre ce code (dans le datamodule peut être)
    Là où tu te connectes à la base de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBDatabase1.Connected := True;
    A priori, oui dans le DataModule.

    @+

  14. #14
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    merci cl@udius

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importation de fichier CSV vers une base Interbase
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 15/03/2005, 15h18
  2. configuration et installation de interbase 7.5 linux redhat9
    Par bragaking dans le forum InterBase
    Réponses: 3
    Dernier message: 05/02/2005, 14h53
  3. Connection ou création d'une base interbase avec Delphi
    Par vincentj dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/01/2005, 10h59
  4. documentation sur la restauration d'une base interbase 6.0
    Par devalender dans le forum InterBase
    Réponses: 1
    Dernier message: 03/09/2004, 16h56
  5. Copie des données d'une table d'une base Interbase 6
    Par Djedjeridoo dans le forum InterBase
    Réponses: 6
    Dernier message: 02/02/2004, 09h39

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