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 :

Erreur d'application


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut Erreur d'application
    Allo les amis, J'ai copié l'exe de mon application sur une machine cliente. Au lancement j'ai ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Excepetion EIBInterBaseError dans le module Clinique.exe dans 000A4BBA. unavailable database.
    J'ai alors installé interbase client sur la machine cliente mais toujour le même problème.

    Est-ce que j'ai mal compilé mon application ? Pourtant elle fonctionne bien sur ma machine.

    Que faire ?
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    non sa ne peut pas etre un probeleme de votre exécutable sauf si vous avez figer en dure le chemin de la base de données ou vers un serveur disant inaccéssible

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    salut,
    je suppose que tu as utilisé un objet TIBDataBase, comment l'as-tu configuré ?

  4. #4
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    En effet j'ai utilisé un TIBdatabase.
    voici la configuration :

    Connected : True
    DatabaseName: C:\Dev\Clinique\CLINIC.GDB
    DefaultTransaction : IBTrans

    Paramètres :
    User_name : SYSDBA
    password : masterkey
    pour le moment c'est les paramètres que j'utilise.
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  5. #5
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par the watcher
    En effet j'ai utilisé un TIBdatabase.
    voici la configuration :


    pour le moment c'est les paramètres que j'utilise.
    le nom de la propriété DataBaseName est configuré en dur à ce que je vois. si lors de ton déploiement, ta BD ne se trouve pas exactement dans cet emplacement, alors tu auras ton message d'erreur
    pour résoudre ton problème, tu peux :
    configurer cette propriété à l'exécution, par exemple lors de la création de la fiche ou du module contenant ton objet TIBDatabase, tu utilises un code similaire à celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //définition du chemin de la BD en supposant qu'elle se trouve dans le même répertoire que l'application
    IBDatabase1.DatabaseName := ExtractFilePath( Application.ExeName ) + 'clinic.gdb';
    //ouverture de la BD
    IBDatabase1.Connected := True;
    utiliser un alias de la BD.

  6. #6
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    Citation Envoyé par evarisnea
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //définition du chemin de la BD en supposant qu'elle se trouve dans le même répertoire que l'application
    IBDB.DatabaseName := ExtractFilePath( Application.ExeName ) + 'Clinic.gdb';
    //ouverture de la BD
    IBDB.Connected := True;
    .
    Je viens d'essayer ce la mais je crois qu'il ne fonctionne pas comme je m'y attends
    j'ai les erreurs svt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Erreur] uDm1.pas(45): Identificateur non déclaré : 'Application'
    [Erreur] uDm1.pas(45): ')' attendu(e) mais identificateur 'ExeName' trouvé(e)
    [Erreur fatale] Clinique.dpr(16): Impossible de compiler l'unité utilisée 'uDm1.pas'
    mon application s'appelle Clinique
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  7. #7
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Tu n'as qu'à mettre le curseur sur Application et appuié sur F1.
    Tu seras quelle unité rajouttée dans la clause uses de ta fiche.

    A+
    On progresse .....

  8. #8
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    rajoutes l'unité Forms dans la partie Uses de ton unité

  9. #9
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    heu voici la petite combine que j'ai trouvé en attendant de maîtriser votre méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    IBDB.DatabaseName := '..\Clinique\CLINIC.GDB';
    IBDB.Params.Values['User_Name']:='SYSDBA';
    IBDB.Params.Values['Password']:='masterkey';
    //ouverture de la BD
    IBDB.Connected:=True;
    le programme se lance maintenant seulement sans pouvoir se conneccter à la base de donnée j'ai ce message :
    unavailable database.
    n'y a t'il pas une méthode plus simple
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  10. #10
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par evarisnea
    code similaire à celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //définition du chemin de la BD en supposant qu'elle se trouve dans le même répertoire que l'application
    IBDatabase1.DatabaseName := ExtractFilePath( Application.ExeName ) + 'clinic.gdb';
    //ouverture de la BD
    IBDatabase1.Connected := True;
    met ta base dans le meme dossier de votre exe
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  11. #11
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    Citation Envoyé par edam
    met ta base dans le meme dossier de votre exe
    C'est ce que j'ai fait . Je ne comprend pas pourquoi ça ne fonctionne pas alors que sur ma bécane à moi elle fonctionne pafaitement ça devrait être pareille sur une autre bécane non ?
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  12. #12
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    salut,
    le message d'erreur a-t'il changé ?
    si c'est le même alors ca veut simplement dire que le composant ne trouve pas ta BD ...
    as tu essayé le code que j'ai posté ?
    //définition du chemin de la BD en supposant qu'elle se trouve dans le même répertoire que l'application
    IBDatabase1.DatabaseName := ExtractFilePath( Application.ExeName ) + 'clinic.gdb';
    as-tu essayé de déboguer et de voir quelle valeur avait la propriété DatabaseName après cette ligne ?

    Citation Envoyé par the watcher
    Je ne comprend pas pourquoi ça ne fonctionne pas alors que sur ma bécane à moi elle fonctionne pafaitement ça devrait être pareille sur une autre bécane non ?
    effectivement ca devrait être pareil si les paramètres sont corrects et les fichiers placés au mêmes endroits, sans oublier les bibliothèques et autres...

  13. #13
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    J'ai fait fidèlement ce que tu m'as conseillé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //définition du chemin de la BD en supposant qu'elle se trouve dans le même répertoire que l'application
    IBDB.DatabaseName := ExtractFilePath(Application.ExeName) + 'CLINIC.GDB';
    //ouverture de la BD
    IBDB.Open;
    IBDB.Connected:=True;
    la propriété databasename = c:\Dev\clinique\CLINIC.GDB
    mais la propriété open dit ceci : Valeur inaccessible alors j'ai viré cette partie.
    Je me demande si ce n'est pas un problème de base de donnée car j'utilise IB 6.5 et ma bécane est XP. Peut être qu'avec Firebird ça fonctionnera.
    Qu'en pense tu mon ami ?
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  14. #14
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    Citation Envoyé par the watcher
    Je me demande si ce n'est pas un problème de base de donnée car j'utilise IB 6.5 et ma bécane est XP. Peut être qu'avec Firebird ça fonctionnera.
    Qu'en pense tu mon ami ?
    En effet c'est un problème avec interbase. Je viens de la remplacer par Firebird et voila ça fonctionne sur ma bécanne comme sur la bécanne cliente .

    Encore merci les amis.
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

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

Discussions similaires

  1. [PHPExcel] Erreur d'application
    Par unmulot dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/06/2006, 09h15
  2. Userinit.exe - Erreur d'application
    Par GBAGO dans le forum Windows XP
    Réponses: 3
    Dernier message: 27/06/2006, 19h01
  3. erreur d'application aléatoire
    Par Galkir dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/06/2006, 15h03
  4. [FB] Gestion des erreurs et application francophone
    Par Benjamin GAGNEUX dans le forum Installation
    Réponses: 10
    Dernier message: 20/05/2006, 14h54
  5. msimn.exe Erreur d'application
    Par popy29 dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 31/12/2005, 12h26

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