Bonjour aux intéressés,
Ces temps je me suis passablement cassé la tête à monter un petit serveur Firebird sur un MacMini qui traine chez moi puis à l'attaquer avec un client Delphi XE7 que je développe. N'ayant pas trouvé de réponses pertinentes à mes questions dans les diverses docs disponibles, je résume ci-dessous les soucis et les solutions que j'ai trouvées.
Côté serveur :
Tout d'abord, le chemin d'installation sur MacOS n'est mentionné nulle part dans les docs que j'ai consultées. C'est : /Library/Frameworks/Firebird.framework/... Il ne sert à rien d'envisager cette installation si on ne peut pas s'accorder les droits admin sur le Mac.
Une fois que firebird est installé sur le serveur et que le premier test de connexion est positif (BD employee):
- Penser à passer en lecture/écriture pour l'utilisateur firebird le répertoire /tmp/firebird. Utiliser le Finder : "Aller à", saisir le path, une fois sur le répertoire afficher les propriétés du répertoire firebird, cliquer sur le cadenas, saisir le mot de passe admin du Mac et accorder les droits R/W, en n'oubliant pas de les propager aux sous-répertoires.
- Si vous ne voulez pas chaque fois entrer le chemin complet de isql et des autres commandes, ni vous positionner dans le répertoire des binaires de firebird (ce qui n'est jamais bon), vous pouvez :
-- Définir des alias dans votre fichier .bash_profile. Pour chaque commande, saisissez une entrée telle que :
alias isql="/Library/Frameworks/Firebird.framework/Versions/A/Resources/bin/isql"
. Les guillemets sont importants.
-- Créer un lien symbolique (ln -s) dans votre répertoire /usr/local/bin vers les commandes du répertoire d'installation de firebird : Dans le répertoire /usr/local/bin entrer
sudo ln -s /Library/Frameworks/Firebird.framework/Versions/A/Resources/bin/isql isql
. L'absence de guillemets est importante !
- Si comme moi vous créez une base de données dans votre environnement utilisateur, pensez à accorder aussi les droits sur le répertoire et la base elle-même à l'utilisateur firebird. Même manip qu'avant.
- Je n'ai jamais réussi à faire marcher la mécanique des alias de nom de base de données comme décrit dans la doc. C'est pourtant simplissime, mais ça ne fonctionne pas. J'ai fini par trouver que les bases de données sont définies dans... Resources/databases.conf, et non dans aliases.conf qui existe mais est vide et ne semble plus servir à rien.
Côté client j'ai suivi les conseils du sage Sergio, et je passe par les composants Delphi FireDac. Définir une connexion est extrêmement simple, poser un TFDConnection sur la forme, cliquer droit dessus et remplir les champs pertinents. Ensuite Tester la connexion, ça doit marcher.
En passant, je suis surpris par la rapidité de réponse que j'obtiens de mon serveur de BD depuis ce client Delphi à ce stade. J'ai une grosse habitude de gros serveurs, et là je les mouche tous, à vide, depuis mon ridicule MacMini. Bien sûr je m'attends à ce que ça change dès que j'aurai des données, mais c'est quand même encourageant de voir que l'infrastructure est saine et remarquablement bien fichue.
Si je tombe sur quelque chose de notable je le mentionnerai ensuite de ceci. Ca vaudrait la peine de mettre la doc à jour, aussi...
Partager