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

Delphi Discussion :

Erreur : FireDAC][Phys][FB]I/O error during "CreateFile (open)"


Sujet :

Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Erreur : FireDAC][Phys][FB]I/O error during "CreateFile (open)"
    Salut La famille je viens juste de finir un projet avec BASE DE DONNE utilisant firebird et losque je lance l'app avec serveur intégré ( Firebird embedded) on m'affiche ceci
    -------------------
    FireDAC][Phys][FB]I/O error during "CreateFile (open)" operation for file "MON PROJET"
    Error while trying to open file
    Le fichier spécifié est introuvable.
    ------------------
    merci de Donner vos differents point de Vu

  2. #2
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Dr partowsky Voir le message
    Le fichier spécifié est introuvable.
    Pas besoin d'avoir x points de vus, le chemin vers ta base de données n'est pas correct

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je rajoute quand même mon 'point de vue' d'expérience, car il m'est déjà arrivé d'avoir cette erreur
    Le chemin programmé est peut être correct mais hélas si la fdConnection est activée au moment de la compilation Firedac tente d'ouvrir la base avant le changement via programme, c'est à dire quand la forme est crée et donc avant même le OnCreate . Il est donc important de décocher la case ConnectedStorageUsage.auRunTime ou de bien vérifier que la FdConnection ne soit pas connectée lorsque l'on compile

    P.S. je ne comprend pas que ConnectedStorageUsage.auRunTime ne soit pas à false par défaut !
    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

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci famille pour vos différentes réponses ! 👌

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Points : 3
    Points
    3
    Par défaut relance du problème
    Bonjour,

    SergioMaster j'avoue ne pas avoir compris ton explication. Où se trouve fdConnection et a quelle endroit on est sensé faire/voir ceci : décocher la case ConnectedStorageUsage.auRunTime ou de bien vérifier que la FdConnection ne soit pas connectée

    Personnellement j'ai ce message :

    [FireDAC][Phys][IB]I/O error for file "\Monprojet\Application\Database\Database.GDB"
    Error while trying to open file
    Le chemin d’accès spécifié est introuvable.


    le chemin d'accès est exact, je l'ai sélectionné en parcourant avec l'explorateur de fichier.
    Je ne comprend pas pourquoi j'ai cette erreur si vous pouviez m'aider svp

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour et bienvenue.

    Où se trouve fdConnection
    Le FdConnection doit se trouver dans un datamodule ou sur une forme de l'application
    quel endroit est t-on censé faire/voir ceci : décocher la case ConnectedStorageUsage.auRunTime ou de bien vérifier que la FdConnection ne soit pas connectée
    ce sont des propriétés du TFDConnection

    Pour le message d'erreur que vous avez, il y a plusieurs pistes à vérifier :
    1. Tout d'abord, dans le nom de la base de données, il me semble qu'il manque le lecteur i.e c:\Monprojet\Application\Database\Database.GDB (étonnant que, étant donné qu'il s'agit de firebird vous ayez une extension en GDB, historique cette extension est maintenant remplacée par fdb (pour firebird) ou ib (pour interbase)
    2. Avez-vous vérifié que le service Firebird est lancé ?
    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
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    merci
    Pour le .GBD la base de donnée est pas très récentes mais sa fonctionne en local.

    1) il manque le lecteur dans le message d'erreur mais il est bien marqué dans le connection properties.

    2) oui quand on l'utilise en local il fonctionne parfaitement donc le service firebird est bien lancé

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    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 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Pour le point 2, je ne vais pas chipoter en écrivant que ce n'est pas obligé car il existe la version embedded qui n'utilise pas de service (finalement si, je chipote ) donc cela ne veut pas forcément dire que le service est lancé. Le seul moyen fiable est de lancer services.msc pour vérifier l'exécution de Firebird Guardian et Firebird Server.
    Autre piège fréquent, il est possible que vous ayez aussi d'installé Interbase, bien vérifié, dans ce cas, que le port d'écoute n'est pas le même que celui de Firebird.

    La connexion pour moi c'est généralement, une connexion TCPIP sur le port 3050 donc dans mon cas j'indique l'adresse du serveur et plutôt qu'un chemin complet un alias (enregistré dans aliases.conf pour les versions <=2.5) ou databases.conf (versions 3).
    Sur le poste client (où seule la partie Firebird client est installée) aucun serveur ni aucun service Firebird n'est lancé.

    Lorsque je change, au runtime, des informations de connexions je procède ainsi :


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    // pip peut venir d'un paramètre de l'application
    function TDatas.connecter(pip : String) : Boolean;
    var AIP : TIPAddress;
        faiip : String;
    begin
    /// Tester IP
    if not pip.IsEmpty then
     begin
       ip:=pip;
       Connexion:='Paramètre';
     end
    else begin
     faiip:=WhatisMyInternetIPV4(parametres.IpGet);   // teste l'adresse Internet 
     if isAnIP(parametres.ipinternet)
       then AIP:=TIPAddress.LookupAddress(parametres.ipinternet)
       else AIP:=TIPAddress.LookupName(parametres.ipinternet);
     if SameText(AIP.Address,faiIP)  // si l'adresse de connexion internet la même que celle enrengitrée alors c'est une connection sur le serveur local
       then begin
         ip:=Parametres.iplocale;
         parametres.ConnexionLocale:=True;
         Connexion:='Serveur'
       end
       else begin
         ip:=aip.Address;
         parametres.ConnexionLocale:=False;
         Connexion:='Internet';
       end;
    end;
    // Changement des paramètres de connexion
    With ConnexionBase.Params as TFDPhysFBConnectionDefParams do
         begin
            UserName:=parametres.utilisateur;
            Password:=parametres.motdepasse;
            Server:=IP;
            Database:=Parametres.nombase;
         end;
      try
        ConnexionBase.Connected:=True;
        result:=true;
      except
        result:=false;
      end;
      if not Result then Exit;
    .....
    end;
    Voilà pourquoi, j'indiquai que 1- à la compilation il fallait vérifier que le fdConnection n'était pas actif 2- une des solutions pour y pallier était de ne pas stocker l'état de la connexion
    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

Discussions similaires

  1. [MASM] Erreur "Error during process creation ml /c/coff/Cp"
    Par Jupiter41 dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 30/06/2017, 20h00
  2. Erreur ORA-12560 (TNS:protocol adapter error)
    Par bouchralana dans le forum Connexions aux bases de données
    Réponses: 13
    Dernier message: 16/11/2009, 00h28
  3. Réponses: 1
    Dernier message: 11/12/2007, 17h17
  4. Réponses: 3
    Dernier message: 05/12/2007, 19h59
  5. forwarder une erreur d'un servlet vers une error.jsp
    Par jakouz dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 14/12/2006, 16h09

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