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

Lazarus Pascal Discussion :

Impossible de charger FbClient


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut Impossible de charger FbClient
    Bonjour,

    Je suis tout nouvel utilisateur de Lazarus et je butte désespérément sur un message "Can not load default Firebird Client ( fbclinet.dll...), lorsque je tente de faire passer à 'True' la propriété Active de SQLQuery installé pour accéder à une base de données "Firebird" que j'ai bien réussi à créer dans un répertoire "D:\Test\...". J'ai consulté les aides disponibles sur Internet et notamment les tutoriaux vidéos que j'ai suivi (me semble-t-il) à la lettre.
    J'ai bien vérifié que j'avais le run-time de Visual Studio présent sur ma machine et j'ai bien copié Fbclient.dll dans le répertoire où se trouve la bsee que j'ai créée. Cette même dll est bien présente dans le répertoire d'installation de Firebird. J'ai aussi consulté le livre de M. Giroux que j'ai, sans succès.
    Quelqu'un pourrait-il m'indiquer pas à pas la marche à suivre pour que la base puisse être reconnue par Lazarus ?

    D'autre part, pour créer des applications monopostes (je suis simplement amateur et ne souhaite pas, du moins à court terme, me lancer dans des applications multipostes) quel type de BD vaut-il mieux utiliser, SQLITE n'est-il pas suffisant ? Les problèmes d'utilisateur et d'autorisation d'accès aux données ne me semblent pas faciles à gérer pour une distribution des applications créées.
    Je précise, je suis sous W7, j'ai installé Lazarus 64 bits et Firebird W32 (les dernières versions que j'ai pu trouver sur les sites).
    Cette interrogation sur le BA.. BA doit paraître puérile aux professionnels mais...
    Merci si quelqu'un pouvait m'éclairer ?

    R. O.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 68
    Par défaut
    a mon humble avis, Firebird me semble tres bien pour faire du multi-poste.
    Tu peux même faire du clustering avec

    Pour firebird, as-tu ajouter le chemin de la DLL au path de ton système ?

    du style
    C:\Program Files (x86)\Firebird\Firebird_2_5\bin
    en plus il faut modifier le fichier aliases pour référencer tes base dans
    C:\Program Files (x86)\Firebird\Firebird_2_5
    Jazz

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut Lazarus - Prbl. avec FbClient - Résolu - infos Zeos et SQlite
    Bonjour,

    Je donne suite à mon propre message. En fait, et de guerre lasse, j'ai désinstallé la version 64 bits de Lazarus que j'avais installée et installé la version 32 bits (1.0.8) et n'ai plus eu le problème signalé.
    De plus, j'ai installé Zeos (Stable 7.0.3) et ai beaucoup de mal à l'installer jusqu'à ce que je réalise que le répertoire SRC devait être déplacé directement sur la racine de C: pour que la compilation du paquet Zcomponent puisse être effective (je signale cela a tout hasard pour tout néophyte qui se heurterait au même problème car cela n'apparait pas clairement sur le notice d'installation).
    Je vais maintenant m'attaquer à étudier comment utiliser SQlite3 pour créer une base que je souhaite utiliser en monoposte (la lecture du forum semble indiquer que dans ce cas Sqlite géré par Zeos est préférable à Firebird). Ce que je tente d'éviter c'est l’utilisation d'identificateur et de mot de passe à chaque lancement d'une application pour une utilisation "non partagée".
    A voir ?
    Si quelqu'un avait des infos sur ce dernier point.

    Merci d'avance.

    R. O.

    Nota : J'espère être sur le bon "créneau" de discussion, sinon je m'en excuse.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai suivi votre discussion sans réussir à comprendre de manière précise votre problème.

    D'abord la question est de savoir quelles sont les plateformes cibles: à priori Windows 32 et/ou 64 bits. Si vous utilisez des dll, il faut qu'elles soient compatibles avec votre programme. Si vous compilez en 32 bits, il faut des dll 32 bits. Si vous compilez votre programme en 64 bits, il faut les mêmes dll mais en 64 bits.

    En ce qui concerne le connecteur, le mieux quand même est de déterminer votre SGDBR. Si vous travaillez en réseau et retenez FB, alors pourquoi ne pas choisir la FB embedded ? Si votre programme n'existe qu'en version monoposte, SQlite est une autre solution.

    Pour la protection en monoposte ne songez pas à protéger la structure de vos fichiers. Pour le mot de passe, il y a quelques solutions très compliquées pour SQLite et peut-être pour FB... mais le plus facile est d'utiliser un cryptage réversible des données.

    Cordialement. Gilles

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 261
    Par défaut
    Bonjour,
    Permettez qu'un simple amateur de programmation en retraite partage ses expériences.
    Je ne développe que sous Delphi 7 ou Lazarus Win32 sur un poste W7 64b.
    Sur ce poste j'ai installé la version 64 bits de Firebird server, et la même version sur un serveur Linux en réseau.
    Pour le choix des composants utilisés sous Lazarus, je vous renvoie à la discussion http://www.developpez.net/forums/d13...i/#post7251630
    La bibliothèque client utilisée dépend des composants.
    Avec D7 les IBX ne connaissent que gds32.dll.
    Avec Lazarus, les UIB demandent de spécifier le nom de la librairie, alors que la version adaptée des IBX trouve d'elle-même la librairie qui convient d'après la déclaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      {$IFDEF LINUX}
      FIREBIRD_SO2 = 'libfbclient.so.2';
      {$ENDIF}
      {$IFDEF DARWIN}
      FIREBIRD_SO2 = 'libfbclient.dylib';
      {$ENDIF}
      {$IFDEF WINDOWS}
      IBASE_DLL = 'gds32.dll';
      FIREBIRD_CLIENT = 'fbclient.dll'; {do not localize}
      FIREBIRD_EMBEDDED = 'fbembed.dll';
      {$ENDIF}
    Mais dans la pratique et sous Windows on n'utilise que gds32.dll et fbclient.dll.
    Il me semble que lors de son installation, et à condition que l'on ait bien coché les cases ad-hoc, Firebird server 64b sous W7 64b installe ces bibliothèques en 2 versions, l'une dans Windows\System32, l'autre dans Windows\SysWOW64. Cependant j'ai constaté que lors de la mise à jour de la version 2.5.1 à la version 2.5.2 (et le dernier update de la 2.5.2) ces bibliothèques n'ont pas été mises à jour.
    Mais ce qui m'a étonné, c'est que ce sont les versions situées dans Windows\SysWOW64 qui sont utilisées par les applications D7 et Lazarus Win32, ceci bien que ce répertoire ne soit pas dans le Path. J'ignore à quoi servent les versions situées dans system32, j'ai pu les supprimer sans que cela perturbe les applications?
    Pour mettre à jour ou créer ces librairies aux bons emplacements, il faut utiliser 2 utilitaires instclient.exe. Celui situé dans le répertoire \bin de l'installation de Firebird server installe les librairies dans system32, alors que celui situé dans le répertoire \WOW64 les installe dans SysWOW64.
    Pour des applications généralement mono-utilisateur j'utilise Firebird embedded. FB embedded est très simple d'installation (un répertoire à copier dans le répertoire de l'application). La syntaxe et les composants sont les mêmes que pour la version serveur, ce qui facilite grandement la programmation, le fonctionnement éventuel sur un poste équipé de la version serveur ou l'évolution vers une version multi-utilisateurs. Principale différence, il n'y a pas de protection par ID/mdp avec la version embedded (SYSDBA et un mot de passe quelconque suffisent).
    Espérant que cela vous sera utile.
    André

Discussions similaires

  1. Impossible de charger LIBMYSQL.DLL
    Par Dalès dans le forum Bases de données
    Réponses: 19
    Dernier message: 20/09/2006, 04h57
  2. [py2exe] Impossible de charger un module...
    Par Mr Hyde dans le forum Py2exe
    Réponses: 3
    Dernier message: 28/09/2005, 17h17
  3. Réponses: 19
    Dernier message: 09/09/2005, 16h44
  4. Impossible de charger un mesh...
    Par wikers dans le forum DirectX
    Réponses: 2
    Dernier message: 09/12/2004, 19h33
  5. [SERVLET][JDBC] Impossible de charger les pilotes
    Par cedric.picard dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/10/2004, 14h11

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