1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mai 2014
    Messages : 8
    Points : 8
    Points
    8

    Par défaut Firebird 2.5.3 et windows10

    Bonsoir

    Firebird est installé en service et le Contrôle Center me dit qu'il est en route.
    FlameRobin ouvre sans problème toutes les bases de donnes.
    Mon alias et mon mot de passe sont bien inscrits dans la table des users.

    Mais quand je lance une requête depuis une application Pascal
    (compilée depuis Lazarus) j'ai une erreur 'fbclient.dll introuvable'.

    J'ai essayé de coller fbclient dans tous les répertoires qui me sont venus
    à l'esprit, depuis le répertoire de l'appli jusqu'au dernier des répertoires
    Windows.system (system, system32, WinSxS), mais rien n'y fait.

    Où diable le compilateur FPC est il censé le trouver?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    janvier 2009
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2009
    Messages : 530
    Points : 932
    Points
    932

    Par défaut

    Bonjour,

    Tout d'abord, je n'utilise pas encore Windows 10 toujours en Windows 7 et ne connais pas Lazarus. Par contre, j'utilise tous les jours Firebird et Delphi version XE10.1.

    Voilà pour la présentation.

    Pour ton cas, il me semble que si tu mets fbclient.dll dans le répertoire ou se trouve ton exécutable ceci doit fonctionner.

    Après, je pense que ton Windows 10 est en 64bits. Dans cette situation, il faut inclure fbclient.dll dans le répertoire SysWOW64 et non dans le répertoire System32.
    Le chemin complet est : c:\Windows\SysWOW64\

    Si cela ne fonctionne toujours pas, il faut peut-être aller examiner les sources de ton programme pour trouver la faille.

    Bon courage

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    8 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 8 447
    Points : 19 730
    Points
    19 730
    Billets dans le blog
    4

    Par défaut

    Bonjour,

    je vais un peu corriger ce qu'indique seabs. Lors de l'installation de Firebird 64 bits (car je pense que votre windows est en 64 bits) il est demandé si vous voulez
    a) copier les bibliothèques dans le répertoire système
    b) générer gds32.dll
    dépendant des composants/ gui utilisés vous aurez peut être besoins de gds32.dll mais avec lazarus, je doute. Donc je ne penche que sur le point a

    il faut cocher cette case, surtout si plusieurs applications vont accéder à des bases firebird, cela évitera des doublons dans les répertoires de chaque application.
    [aparté]
    On utilisera plutôt une copie de fbclient_embedded.dll (et quelques autres fichiers/répertoires spécifiques) renommée fbclient.dll dans le cas où vous voulez une application avec base embarquée (embedded).
    [fin aparté]
    Pour en revenir à l'installation après cet aparté, lors de l'installation deux fbclient.dll sont copiés de même nom mais de nombre de bits différents
    • dans system32 vous trouverez la version 64 bits
    • dans syswow64 la version 32 bits

    je sais cela m'a toujours paru loin d'être explicite
    il ne faut surtout pas faire une copie de la version 64 dans syswow64 ni l'inverse d'ailleurs

    Que fait le programme s'il est compilé en 32 bits il fera appel à la bibliothèque contenue dans syswow64 s'il est en 64 bits celle de system32.
    Toutefois, il y a encore le problème des composants de connexion utilisés, cela fait longtemps que je n'ai pas remis le nez dans Lazarus, je sais que certains (ZEOSDBO) permettent d'indiquer le chemin de la bibliothèque (par défaut c'est celle de l'installation firebird\bin qui est pris) pour d'autres, j'ai des doutes il faudrait indiquer quels composants DB vous utilisez pour votre programme.

    En tout cas une chose est sûre, vu votre démarche
    J'ai essayé de coller fbclient dans tous les répertoires qui me sont venus à l'esprit
    mon conseil serait de supprimer toutes fbclient.dll puis de réinstaller Firebird en n'oubliant pas de cocher la case "copier les bibliothèques dans le répertoire système". À ma souvenance, par défaut, cette case n'est pas cochée
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
    J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
    Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2010
    Messages : 156
    Points : 341
    Points
    341

    Par défaut

    Bonjour,

    Si vous utilisez les SQLdb avec IBConnection de Lazarus, la dll est recherchée automatiquement lors de la connexion parmi et dans l'ordre fbembedded.dll, fbclient.dll et gds32.dll dans le répertoire de l'application ou dans le path. Cette dll doit être de la même version (32 ou 64b) que l'application.
    D'autres composants (dans les libres UIB, ZEOS) permettent de définir la bibliothèque à utiliser. Si vous n'en précisez pas le chemin, elle doit se trouver dans le répertoire de l'application ou dans le path. Mais il vous est possible de déterminer son adresse complète en allant la chercher dans la base de registre, et de l'affecter à la connexion avant de l'ouvrir.
    Il existe aussi des IBX adaptés à Lazarus. "De mémoire", il me semble que la bibliothèque est détectée automatiquement comme avec les SQLdb parmi fbclient.dll et gds32.dll, contrairement à la version pour D7 qui imposait gds32.dll. J'espère seulement que la recherche est effectuée dans le même ordre que pour les SQLdb, j'ai observé des pertes de connexions inexpliquées avec gds32.dll et Firebird 3.0 (pas avec la version 2.5).

    André

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mai 2014
    Messages : 8
    Points : 8
    Points
    8

    Par défaut Firebird 2.5.3 et windows10

    Merci à tous les trois

    Je vais explorer toutes vos pistes et je reviendrai vous dire ce qui se passe.
    A bientôt

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mai 2014
    Messages : 8
    Points : 8
    Points
    8

    Par défaut Conclusion

    Merci à vous tous.

    Grace à vos remarques, j'ai découvert que sous le nom de fbclient pouvait se cacher des fichiers différents.

    Comme j'avais essayé des installations de Frebird 2.5 en 32 et en 64 bits, je n'avais aucune idée du fbclient
    que j'avais collé partout.

    Conclusion j'ai désinstallé et réinstallé Firebird en 64 bits.

    Résultat, tout fonctionne correctement, vieilles applications, contrôle center et même Flamerobin qui est resté
    en 32 bits.

    Bisous, bisous

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

Discussions similaires

  1. [Débat] Choisir InterBase/Firebird ou Microsoft SQL-SERVER ?
    Par asenaici dans le forum Décisions SGBD
    Réponses: 90
    Dernier message: 19/03/2009, 21h51
  2. [FIREBIRD]Drivers ODBC
    Par tripper.dim dans le forum Connexion aux bases de données
    Réponses: 10
    Dernier message: 24/04/2007, 12h02
  3. Lien vers Mozilla Firebird : il manque les themes
    Par Nasky dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 20/10/2003, 14h24
  4. [firebird] Connexion impossible en lecture seule
    Par severine dans le forum Administration
    Réponses: 2
    Dernier message: 01/08/2003, 16h35
  5. Refus d'accès à une base Firebird
    Par severine dans le forum Installation
    Réponses: 18
    Dernier message: 04/06/2003, 17h03

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