Guide de départ pour Firebird 1.1

Transcription

Guide de départ pour Firebird 1.1
Guide de départ pour Firebird } Que contient le kit?
IBPhoenix Publications
Guide de départ pour Firebird
Cette section est une introduction aux éléments essentiels, et qui s’adresse aux nouveaux venus qui
désirent commencer rapidement l’utilisation de Firebird. Pour des détails complets à propos de la
configuration ou de l’exécution de votre serveur et de la mise au point de votre installation, référezvous aux chapitres 4 à 6 du manuel Using Firebird, distribué sur le CD-ROM de IBPhoenix.
Que contient le kit?
Tous les kits contiennent tous les composants nécessaires pour installer le serveur Firebird :
- l’exécutable du serveur Firebird
- une librairie client située sur l’ordinateur serveur
- les outils en ligne de commande
- les librairies standards des fonctions définies par l’utilisateur (UDF)
- une base de données exemple
- les fichiers de déclarations C (non requis pour les débutants!)
- notes de dernière minute – À LIRE SANS FAUTE!
Emplacements disque par défaut
La table suivante indique l’emplacement disque par défaut des composants sous Windows et Linux.
L’information est fournie selon 2 versions :
- les versions antérieures à la version 1.5 de Firebird
- les versions à partir de la version 1.5 de Firebird ou plus récentes
Ces différences sont importantes. Les versions antérieures à la version 1.5 de Firebird
utilisent plusieurs des mêmes emplacements, noms de composants et liens que InterBase 6.x,
et les versions antérieures de InterBase. Ainsi, il est impossible d’exécuter le serveur Firebird
ainsi que le serveur InterBase sur la même machine avec ces versions.
Dans les révisions de code majeures débutées à partir de v.1.5, les anciens liens aux objets
InterBase furent enlevés et plusieurs des composants majeurs ont été renommés. Firebird 1.5
peut permettre la présence d’un serveur InterBase® en exécution. C’est un objectif pour
Firebird 2.
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
1
Guide de départ pour Firebird } Emplacements disque par défaut
Tableau 1 : Composants de l’installation de Firebird
Plate-forme
Windows 32 bits
et 64 bits
Composant
Serveur Firebird
Outils en ligne de
commande
Base de données
exemple
Librairies des fonctions
définies par l’utilisateur
(UDF)
Windows NT,
2000, XP
Client Firebird
Windows 9x, ME
Client Firebird
Linux et autres
distributions
UNIX possibles
Serveur Firebird
Outils en ligne de
commande
Librairies UDF
Client Firebird
© IBPHOENIX PUBLICATIONS 2002, 2003
Nom du fichier
Avant v.1.5
ibserver.exe
v.1.5 et plus récent
fbserver.exe
gbak.exe, gfix.exe,
gstat.exe, etc.
Employee.gdb
ib_udf.dll & ib_utils.dll
fbudf.dll
Avant v.1.5
gds32.dll
v.1.5 et plus récent
lié à xxxxx.dll à travers
gds32.dll
Comme ci-dessus
Avant v.1.5
ibserver
v.1.5 et plus récent
fbserver
gbak, gfix, gstat, etc.
Avant v.1.5
v.1.5 et plus récent
Avant v.1.5
ib_udf.so
v.1.5 et plus récent
ib_udf.so
fbudf.so
Avant v.1.5
libgds.so.0 (binaire)
libgds.so (lien symb.)
v.1.5 et plus récent
TBA
GUIDE DE DÉPART POUR FIREBIRD
Emplacement par défaut
c:\Program Files\Firebird\bin
c:\Program Files\Firebird\bin
c:\Program Files\Firebird\examples
c:\Program Files\Firebird\udf
c:\Winnt\System32
c:\Windows
/opt/interbase/bin
TBA
/opt/interbase/bin
TBA
/opt/interbase/bin
TBA
/usr/lib
2
Guide de départ pour Firebird } Installation de Firebird
Installation de Firebird
Installation sur disques
Le serveur Firebird ainsi que toutes les bases de données que vous créez ou auxquelles vous vous
connectez doivent résider sur un disque rigide qui est physiquement connecté à la machine hôte. Les
composants du serveur, ni aucune base de données ne peuvent résider sur un lecteur réseau (unité
assignée sous Windows « mapped drive »), un système de fichiers partagés ou un système de
fichiers en réseau (système de fichiers NFS).
Une base de données en lecture seule peut résider sur un CD-ROM mais vous ne pouvez
exécuter le serveur Firebird à partir de celui-ci.
Script ou programme d’installation
Bien qu’il soit possible d’installer Firebird par une méthode de copie de fichiers (comme par exemple,
décompresser « untar » un fichier image ou décompresser une structure de fichiers et répertoires
contenus dans un fichier Winzip «.zip »), il est fortement recommandé d’utiliser le kit de distribution la
première fois que vous installez Firebird. Le script d’installation exécutable de Windows, le
programme rpm (RedHat Package Manager) de Linux et le fichier officiel tar.gz pour les autres
plates-formes Posix accomplissent certaines tâches essentielles de l’installation. Si vous suivez les
instructions correctement, vous ne devriez rien avoir à faire jusqu’à la fin de l’installation alors ouvrez
une session et allez-y!
Plates-formes Windows
Sur les plates-formes serveur (Windows NT, 2000 et XP) le service Firebird sera en exécution à la fin
de l’installation. La prochaine fois que vous redémarrerez votre serveur, le service sera démarré
automatiquement. Pour savoir comment démarrer et arrêter le service manuellement, référez-vous à
la section Running Firebird on Windows, p. 54, chapitre 4 du manuel Using Firebird.
Les plates-formes Windows qui ne sont pas serveur (Windows 95, 98, ME) ne supportent pas les
services. Le programme d’installation démarrera le serveur Firebird comme une application, protégée
par une autre application connue sous le nom de Guardian. Si l’application serveur se termine
anormalement pour quelque raison que ce soit, l’application Guardian tentera de la redémarrer.
Une copie de la librairie client (gds32.dll) aura aussi été installée dans le répertoire system.
Plates-formes Posix
Dans tous les cas, lisez les notes de dernière minute qui s’appliquent à la version de Firebird que
vous désirez installer. Il peut y avoir d’importantes variations d’une version à l’autre de n’importe quel
système d’exploitation Posix, en particulier ceux à code source ouvert (open source). Dans la mesure
du possible, les ingénieurs ont essayé de documenter tous les problèmes possibles pour chaque
version de Firebird.
Si vous ne pouvez trouver une copie des notes de dernière minute dans votre kit, vous
pouvez en télécharger une copie à partir de la page de téléchargements du site web de
Firebird à l’adresse http://firebird.sourceforge.net .
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
3
Guide de départ pour Firebird } Test de votre installation
Si vous avez une distribution Linux qui supporte les installations rpm, consultez la documentation
propre à votre plate-forme pour connaître les instructions à propos de l’utilisation du Redhat Package
Manager. Dans la plupart des distributions, vous aurez le choix d’effectuer l’installation à partir d’un
interpréteur de commandes (command shell) ou à partir d’une interface graphique.
Pour les distributions Linux qui ne peuvent utiliser les programmes rpm, ainsi que pour les différentes
saveurs de Unix, utilisez le kit « .tar.gz ». Vous y trouverez des instructions détaillées dans les notes
de dernière minute.
Des scripts « shell scripts » ont également été fournis. Dans certains cas, les notes de dernière
minute peuvent vous indiquer de modifier les scripts et d’apporter quelques changements manuels.
Test de votre installation
Si tout fonctionne comme prévu, le processus serveur Firebird s’exécutera sur votre serveur dès la fin
de l’installation. Il démarrera également automatiquement à chaque fois que vous redémarrerez votre
serveur.
À cette étape, nous supposons que vous utiliserez le protocole recommandé TCP/IP pour votre
réseau client/serveur Firebird.
Pour de l’information à propos de l’utilisation du protocole NetBEUI dans un
environnement complètement Windows, référez-vous au chapitre 6, Network configuration
dans le manuel Using Firebird.
Les réseaux IPX/SPX ne sont pas supportés par Firebird.
« Ping » du serveur
Habituellement, la première chose que vous désirerez faire à la fin de l’installation est de faire un
« ping » du serveur. Ce test ne fait que vous assurez que votre machine client peut voir la machine
hôte dans votre réseau. Par exemple, si l’adresse IP de votre serveur dans le domaine qui est visible
à votre client est 192.13.14.1, démarrez une session de commandes « command shell » et tapez la
ligne de commande
ping 192.13.14.1
en substituant l’adresse IP donnée en exemple par l’adresse IP que votre serveur diffuse.
Si vous obtenez un message de délai d’attente, étudiez le manuel Using Firebird (Chapitre
6, Network Configuration, et chapitre 7, Troubleshooting Connections) pour plus
d’informations.
Notez que si vous vous connectez au serveur à partir d’un client local (un client s’exécutant sur la
même machine que le serveur) vous pouvez faire un « ping » du serveur « loopback » virtuel:
ping localhost ou ping 127.0.0.1
Vérifier que le serveur Firebird est en exécution
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
4
Guide de départ pour Firebird } Test de votre installation
Après l’installation, le serveur Firebird devrait s’exécuter comme un service sous Windows NT, 2000,
XP ou sous Linux.
Windows NT4, 2000, XP
Pour les plates-formes serveur Windows, démarrez le gestionnaire de Services à partir du panneau
de configuration.
Le serveur Firebird et le Guardian
Cette illustration montre le gestionnaire de Services sous Windows NT4. L’apparence peut varier
d’une version serveur de Windows à l’autre.
Le Guardian
Si l’application Guardian est en exécution (tel que vu dans l’illustration ci-dessous) elle peut avoir un
nom de service différent à cause des changements de version.
Sous Windows 2000 et XP, l’application Guardian est une commodité plutôt qu’une
nécessité puisque ces deux systèmes d’exploitation peuvent surveiller et redémarrer les
services. Il est recommandé de garder l’application Guardian active sous les autres platesformes si un « SYSDBA » (administrateur de bases de données) n’est pas disponible pour
redémarrer le serveur manuellement dans le cas où il serait arrêté pour quelque raison que ce
soit.
Le panneau de configuration de Windows
Les kits de distribution précédents de Firebird installaient l’application Interbase Manager dans
le panneau de configuration des systèmes d’exploitation qui supportent les services. Ceci fut omis à
partir de Firebird 1.0 parce qu’un nombre d’implémentations du « Firebird [Server] Manager »
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
5
Guide de départ pour Firebird } Test de votre installation
spécifique à Firebird est devenu disponible à travers les canaux « open source ». Même si cette
application n’est pas essentielle, elle offre une manière pratique de démarrer et arrêter le service.
Si vous désirez une application FireBird Manager et que vous n’en trouvez pas d’installée dans le
panneau de configuration de votre serveur Windows, téléchargez le code source Delphi à partir de la
branche « addons » de l’arbre CVS Firebird ou une version compilée à partir de www.ibphoenix.com .
L’apparence de l’application pour le panneau de configuration sera similaire à celle de l’illustration cidessous.
Windows 9x ou ME
Sous Windows 9x ou ME, le serveur Firebird devrait s’exécuter comme une application et surveillé
par le Guardian. L’icône de l’application Guardian devrait apparaître dans la zone de notification
(« system tray ») avec une icône verte. Si l’icône clignote ou s’affiche en rouge, ceci indique que le
Guardian tente de démarrer le serveur ou a échoué à le démarrer.
Si vous avez utilisé un kit d’installation qui a installé, mais n’a pas démarré automatiquement le
Guardian et le serveur Firebird, vous pouvez corriger cette situation comme suit :
1. Localisez le fichier exécutable de l’application Guardian (ibguard.exe) et créez un raccourci pour
ce programme dans le groupe Démarrage du menu Démarrer de votre machine.
2. Ouvrez la boîte de propriétés du raccourci et positionnez-vous dans le champ où est inscrite la
ligne de commande.
3. Modifiez la ligne de commande comme suit :
ibguard.exe -a
4. Sauvegardez puis fermez la boîte de propriétés.
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
6
Guide de départ pour Firebird } Test de votre installation
5. Double-cliquez sur le raccourci pour démarrer Guardian. Le Guardian procédera au démarrage de
ibserver.exe .
Le Guardian devrait démarrer automatiquement la prochaine fois que vous démarrerez votre machine
Windows 9x ou ME.
Il n’y a présentement pas d’application pour le panneau de configuration qui détecte l’exécution du
serveur Firebird sur ces versions de Windows non serveur.
Serveurs Posix
Utilisez la commande top dans une session de commandes « command shell » pour inspecter de
manière interactive les processus en exécution. Si Firebird est en exécution, vous devriez voir un
processus appelé ibguard (c’est le Guardian), un maître et avec ou sans processus enfants appelés
ibserver ou fbserver (ceci dépend de la distribution de Firebird que vous avez installé).
Les captures d’écran suivantes montrent le résultat de la commande top, restreinte par la commande
grep pour montrer seulement les processus avec des noms qui commencent par les caractères ‘ib’,
c’est à dire :
top -A | grep ib
Si votre serveur Firebird utilise l’architecture Classique (« Classic server »), le nom du
processus est gds_inet_server. Il y aura une instance de ce processus pour chaque
connexion. Utilisez la commande top –A | grep gds pour voir ces processus.
Autres choses dont vous avez besoin
Une adresse réseau pour votre serveur
-
Si vous êtes sur un réseau qui est géré, demandez l’adresse IP à votre administrateur de
systèmes.
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
7
Guide de départ pour Firebird } Autres choses que vous avez besoin
-
Si vous avez simplement un réseau de deux machines connectées par un câble croisé,
vous pouvez configurer votre serveur avec l’adresse IP de votre choix à l’exception de
l’adresse 127.0.0.1 (qui est réservée pour un serveur « loopback » local) et bien sûr de
l’adresse IP que vous utilisez pour votre machine client. Si vous connaissez les adresses
IP natives de vos cartes réseau, et qu’elles sont différentes, vous pouvez simplement les
utiliser.
-
Si vous projetez de faire l’essai de l’installation du client et du serveur sur une même
machine, vous devriez utiliser l’adresse locale « loopback » de votre serveur « localhost »
avec l’adresse IP 127.0.0.1.
Notez que sous Windows, il est possible de se connecter localement au serveur sans
utiliser un « loopback » TCP/IP local. Ce n’est pas une connexion TCP/IP et ce n’est
pas une manière fiable (thread-safe) de se connecter à un serveur local. Cependant,
pour l’utilisation d’une simple instance des outils en ligne de commandes (gsec, gbak,
etc.), cette manière fonctionne très bien.
Nom d’utilisateur et mot de passe par défaut
L’utilisateur SYSDBA a tous les privilèges sur le serveur. Le programme d’installation installera
l’utilisateur SYSDBA avec le mot de passe masterkey .
Présentement, le mot de passe est masterke, puisque les caractères après le huitième
caractère sont ignorés.
Si votre serveur est accessible à tous le monde à partir de Internet, vous devriez changer ce mot de
passe immédiatement en utilisant l’outil en ligne de commande gsec.
Comment changer le mot de passe de l’utilisateur SYSDBA
Vous devez être connecté au niveau du système d’exploitation comme super utilisateur (root sous
Linux) pour exécuter l’utilitaire gsec. Par exemple, si vous désirez changer le mot de passe de
l’utilisateur SYSDBA pour icuryy4me.
1. Ouvrez une session en mode de commandes sur votre serveur et positionnez-vous dans le
répertoire où les outils en mode de commandes sont situés. Référez-vous au tableau 1 ci-haut
pour connaître cet emplacement.
2. Tapez ce qui suit (cette ligne de commandes est sensible à la case (minuscule/majuscule) sur
toutes les plates-formes à l’exception de Windows) :
gsec -user sysdba -password masterkey
Vous devriez maintenant voir le message-guide de l’utilitaire gsec.
GSEC>
3. Tapez la commande suivante
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
8
Guide de départ pour Firebird } Connexion à la base de données exemple
GSEC> modify sysdba -pw icuryy4me
4. Pressez la touche « Entrée » (ENTER). Le nouveau mot de passe icuryy4me est maintenant
encrypté et sauvegardé et le mot de passe masterkey n’est désormais plus valide.
5. Maintenant quittez l’utilitaire gsec :
GSEC> quit
Étant donné que dans un mot de passe, Firebird ignore les caractères passés le huitième
caractère, la saisie de icuryy4m comme mot de passe fonctionnera aussi bien que la saisie
de icuryy4monkeys .
Un outil d’administration
Le kit Firebird ne vient pas avec un outil d’administration graphique. Il contient une série d’outils en
mode de commandes et de programmes exécutables qui sont situés dans le répertoire ./bin de votre
installation Firebird.
La gamme des excellents outils d’administration graphiques disponibles pour une utilisation avec un
client Windows est trop étendue pour les décrire ici. Quelques outils graphiques développés à l’aide
de Borland Kylix, pour une utilisation sur des machines Linux client, sont également à différentes
phases d’être achevés.
Consultez la page Downloads > Contributed > Admin Tools à l’adresse http://www.ibphoenix.com
pour toutes les options.
Vous pouvez utiliser un client Windows pour accéder un serveur Linux ou vice versa.
Connexion à la base de données exemple
Dans le répertoire ./examples de votre installation Firebird, il y a une base de données exemple
appelée employee.gdb. Vous pouvez utiliser cette base de données pour faire des tests.
Si vous exécutez le serveur sous Windows XP ou ME, assurez-vous de renommer cette
base de données test sous le nom employee.fdb pour éviter des conflits avec l’utilitaire
Restauration du System (System restore) de Windows qui vérifie et prend en copie en
permanence les fichiers avec l’extention .gdb.
Nom du serveur et chemin d’accès
Si vous déplacez la base de données exemple, assurez-vous de la déplacer sur un disque rigide qui
est physiquement attaché à votre serveur. Les unités partagés, les unités assignées (mapped drives)
ou sous Unix les systèmes de fichier SMB (Samba) ne peuvent être utilisés pour y stocker une base
de données Firebird. La même règle s’applique pour toutes les bases de données que vous créez.
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
9
Guide de départ pour Firebird } Connexion à la base de données exemple
Il y a deux éléments à une chaîne de connexion TCP/IP : Le nom du serveur ainsi que le chemin
d’accès (disque/système de fichier). Son format est comme suit :
Pour un serveur Linux: nom-du-serveur:/chemin-accès/fichier-base-de-données
Exemple pour un serveur Linux ou autre serveur Posix appelé serveurxyz
serveurxyz:/opt/interbase/examples/employee.gdb
Pour un serveur Windows: nom-du-serveur:D:\chemin-accès\fichier-base-de-données
serveurxyz:C:\Program Files\Firebird\examples\employee.gdb
La commande CONNECT
Se connecter à une base de données Firebird demande toujours au préalable de se connecter (login)
en utilisant un nom d’utilisateur et un mot de passe valide. N’importe quel utilisateur autre que
SYSDBA ou root (sur les systèmes Posix) a aussi besoin de permissions aux objets dans une base
de données. Pour garder notre lecture simple, nous allons voir ici comment se connecter à l’aide de
l’utilisateur SYSDBA et le mot de passe masterkey.
Se connecter en utilisant ISQL
Il y a plusieurs manières différentes de se connecter à une base de données en utilisant ISQL. Une
de ces manières est de démarrer ISQL en mode interactif.
Positionnez-vous dans le répertoire ./bin de votre installation de Firebird et tapez la commande isql :
C:\Program Files\Firebird\bin>isql <Entrée>
Use CONNECT or CREATE DATABASE to specify a database
CONNECT
"C:\Program
Files\Firebird\examples\Employee.gdb"
'SYSDBA' password 'masterkey'; <Entrée>
user
Lors de l’utilisation de isql, assurez-vous que toutes les commandes saisies se terminent
par un point-virgule. Si vous l’oubliez, le message-guide changera de SQL> à CON> et vous ne
pourrez continuer jusqu’à ce que vous saisissiez le point-virgule et que vous pressez
<Entrée> .
Bien que les symboles simples guillemets soient la norme pour délimiter les chaînes de
caractères avec Firebird, les doubles guillemets ont été utilisés pour spécifier le chemin à la
base de données dans l’exemple ci-dessus. Ceci est parfois nécessaire avec quelques-uns
des outils en ligne de commandes lorsque le chemin d’accès contient des espaces. Les
simples guillemets devraient fonctionner pour les chemins d’accès qui ne contiennent pas
d’espaces.
À cette étape, isql vous informera que vous êtes connecté:
DATABASE
"C:\Program
Files\Firebird\examples\Employee.gdb",
sysdba
SQL>
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
User:
10
Guide de départ pour Firebird } Création d’une base de données à l’aide de isql
Vous pouvez maintenant continuer à faire des tests avec la base de données employee.gdb. Les
caractères isql veulent dire interactive SQL [utility] (utilitaire SQL interactif) . Vous pouvez utiliser cet
utilitaire pour faire des requêtes sur les données, obtenir de l’information à propos des métadonnées,
créer des objets de bases de données, exécuter des scripts de définition de données et bien plus.
Pour quitter l’utilitaire tapez :
SQL> QUIT;
Pour plus d’informations à propos de isql, référez-vous au chapitre 10 Interactive SQL utility (isql) (p.
152 du manuel Using Firebird).
Se connecter en utilisant un client graphique
Habituellement, les utilitaires client graphiques s’occupent de composer la chaîne de connexion pour
vous, en utilisant le nom du serveur, le chemin d’accès, le nom d’utilisateur ainsi que le mot de passe
que vous saisissez dans les différents champs. Utilisez les éléments tels que décrits dans la section
précédente.
Il est assez commun pour ces utilitaires de s’attendre à recevoir en une seule chaîne le
nom du serveur ainsi que le chemin d’accès.
Souvenez-vous que les noms de fichier et les commandes sous Linux ou autres interpréteurs
de commandes Posix sont sensibles à la case (case-sensitive).
Création d’une base de données à l’aide de isql
Il y a plusieurs façons de créer une base de données à l’aide de isql. Ici, nous allons utiliser une
manière simple de créer une base de données de façon interactive. Cependant, pour vos travaux de
définition de base de données plus sérieux, vous devriez créer et maintenir vos objets métadonnées
à l’aide de scripts de définition. Un chapitre complet dans le manuel Using Firebird traite de ce sujet.
Démarrage de isql
Pour créer une base de données de façon interactive à l’aide de isql, vous devez travailler à partir du
serveur. En mode interpréteur de commandes, positionnez-vous dans le répertoire ./bin de Firebird et
démarrez isql comme suit :
C:\Program Files\Firebird\bin>isql <Entrée>
Use CONNECT or CREATE DATABASE to specify a database
La commande CREATE DATABASE
Maintenant, vous pouvez créer votre nouvelle base de données de façon interactive. Supposons que
vous désirez créer une base de données appelée test.fdb et la sauvegarder dans un répertoire
appelé « data » sur votre disque D :
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
11
Guide de départ pour Firebird } Création d’une base de données à l’aide de isql
SQL> CREATE DATABASE 'D:\data\test.fdb' page_size 8192 user 'SYSDBA'
password 'masterkey'; <Entrée>
La base de données sera créée, et après un court moment, le message-guide SQL réapparaîtra.
Vous êtes maintenant connecté à la nouvelle base de données et pouvez procéder à la création de
quelques objets test dans celle-ci.
Pour vérifier qu’il y a vraiment une nouvelle base de données, tapez la requête suivante :
SQL> SELECT * FROM RDB$RELATIONS; <Entrée>
L’écran se remplira avec beaucoup de données. Cette requête sélectionne tous les enregistrements
de la table système où Firebird garde les métadonnées des tables. En effet, une base de données
vide n’est pas réellement vide. Elle contient une base de données qui se remplira de métadonnées
lorsque vous commencerez à y créer des objets.
Pour quitter isql et revenir à l’interpréteur de commandes, tapez :
SQL> QUIT;
Pour plus d’informations à propos de isql, référez-vous au chapitre 10 Interactive SQL utility (isql) (p.
152 du manuel Using Firebird).
Effectuer une installation « client seulement »
Chaque machine client distante a besoin de la librairie libgds.so sur les clients Posix, et gds32.dll sur
les clients Windows. Ceci correspond à la version du serveur Firebird.
Les versions 1.5 et plus récentes de Firebird, requièrent une librairie client additionnelle appelée
libfb.so ou fb32.dll qui contient la librairie complète. Dans ces nouvelles distributions, les fichiers
appelés « gds » sont distribués pour maintenir une compatibilité avec des produits tiers qui utilisent
ces fichiers. De manière interne, les librairies vont automatiquement brancher aux points d’accès
exacts dans les librairies qui ont été renommées.
Quelques autres pièces sont également requises pour une installation « client seulement »
Windows
Lors de la publication, aucune installation compacte n’était disponible pour l’installation des pièces
additionnelles d’un client Windows. Si vous êtes dans la situation que vous désirez accéder à un
serveur Firebird Linux ou autre serveur Posix, à partir de clients Windows, vous devez télécharger le
kit d’installation complet de Firebird pour Windows qui correspond à la version de Firebird que vous
avez installée sur votre serveur Linux ou autre serveur Posix.
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
12
Guide de départ pour Firebird } Effectuer une installation «client seulement»
Heureusement, une fois que vous avez téléchargé le kit, l’installation « client seulement » est facile à
effectuer. Exécutez le programme d’installation comme si vous désiriez installer le serveur, mais
sélectionnez l’option CLIENT ONLY à partir du menu d’installation.
Linux et autres clients Posix
Une installation compacte pour les clients Linux n’est pas disponible non plus. De plus, quelques
saveurs Posix (même dans la constellation Linux) ont certaines exigences pour l’emplacement des
systèmes de fichiers. Pour ces raisons, ce n’est pas toutes les distributions *x pour Firebird qui
contiennent une installation « client seulement ».
Pour la plupart des saveurs Linux, la procédure suivante est suggérée pour les version de Firebird
antérieures à la version 1.5. Connectez-vous en tant qu’utilisateur root pour ceci.
1. Recherchez le fichier libgds.so.0 dans le répertoire /opt/interbase/lib sur le serveur où le serveur
Firebird est installé. Copiez ce fichier dans le répertoire /usr/lib sur le client.
2. Créez le lien symbolique (symlink) libgds.so pour ce fichier en utilisant la commande suivante :
ln -s /usr/lib/libgds.so.0 /usr/lib/libgds.so
3. Copiez le fichier interbase.msg dans le dossier /opt/interbase
4. Dans le fichier profile de la coquille système par défaut (system-wide default shell profile), ou en
utilisant setenv() à partir d’un interpréteur de commandes, créez la variable d’environnement
INTERBASE et assignez-y /opt/interbase , pour activer les routines API pour qu’elles puissent
localiser les messages.
Autres choses intéressantes à connaître
Ce chapitre se termine avec une petite collection de choses éclectiques que d’autres novices de
Firebird auraient aimé connaître lors de leurs débuts.
Firebird SQL
Chaque système de gestion de bases de données a ses propres particularités dans la manière qu’il
implémente SQL. Firebird se conforme au standard SQL plus rigoureusement que n’importe quel
autre RDBMS (Relational DataBase Management System) à l’exception possible de son cousin
InterBase®. Les développeurs qui migrent de produits qui sont moins conformes aux standards,
supposent souvent et à tort, que Firebird est bizarre, alors que les supposés bizarreries ne sont en
fait aucunement bizarres.
Symbole de délimitation de chaînes de caractères
Les chaînes de caractères dans Firebird sont délimitées par une paire de simples guillemets -‘Je
suis une chaîne de caractères’- (Code ASCII 39 et non le code 96). Si vous avez utilisé des
anciennes versions de Firebird, relatives à InterBase®, vous pourrez vous souvenir que les guillemets
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
13
Guide de départ pour Firebird } Autres choses intéressantes à connaître
simples et doubles étaient interchangeables comme délimiteurs de chaines. Les doubles guillemets
ne peuvent être utilisés comme délimiteurs de chaînes avec Firebird.
Identifiants doubles guillemets
Avant le standard SQL-92, il n’était pas légal d’avoir des noms d’objets (identifiants) dans une base
de données qui étaient une duplication des mots clés du langage, qui étaient sensibles à la case
(case-sensitive) ou qui contenaient des espaces. SQL-92 introduit un nouveau standard simple pour
rendre ceci légal, à condition que les identifiants soient définis avec une paire de doubles guillemets
(ASCII 34) et toujours référés en utilisant les doubles guillemets.
Le but de ce « cadeau » était de rendre plus facile la migration de métadonnées d’une RDBMS non
standard en RDBMS conforme. Le désavantage est que si choisissez de définir un identifiant entre
doubles guillemets, la case (case-sensitivity) et les doubles guillemets forcés resteront obligatoires.
Firebird permet un léger relâchement selon certaines conditions très limitées : si l’identifiant qui a été
défini entre doubles guillemets 1) a été défini complètement en majuscule 2) n’est pas un mot clé et
3) ne contient aucun espace, alors il peut être utilisé en SQL sans guillemets pourvu qu’il soit utilisé
tout en majuscule.
À moins que vous ayez une raison très convaincante pour définir des identifiants entre guillemets, il
est habituellement recommandé d’éviter cela. Firebird accepte volontiers un mélange d’identifiants
entre guillemets ou non. Ainsi, si vous en avez besoin, il n’y a pas de problème à inclure un mot clé
dont vous avez hérité d’une autre base de données.
Certains outils d’administration de bases de données appliquent systématiquement
l’utilisation de doubles guillemets. Essayez de choisir un outil qui rend l’application des doubles
guillemets optionnel.
Apostrophes dans les chaînes de caractères
Si vous devez utiliser un caractère apostrophe dans une chaîne de caractères Firebird, vous pouvez
vous en tirer en précédant l’apostrophe avec une autre apostrophe.
Par exemple, la chaîne suivante donnera une erreur :
'Une vitesse de 50 km à l’heure est suffisante'
puisque lorsque l’analyseur syntaxique rencontrera l’apostrophe, il interprétera la chaîne de
caractères comme ’Une vitesse de 50 km à l’et ne pourra interpréter les mots suivants qui lui seront
inconnus.
Pour rendre cette chaîne de caractères légale, précédez l’apostrophe avec une autre apostrophe :
'Une vitesse de 50 km à l’’heure est suffisante'
Notez qu’il y a DEUX simples guillemets et non un double guillemets.
Concaténation de chaînes de caractères
Le symbole de concaténation en SQL est deux symboles ‘pipe’ ‘||’ qui se suivent (ASCII 124, une
paire sans espace). En SQL, le symbole + est un opérateur arithmétique et causera une erreur si
vous tentez d’utiliser ce symbole pour la concaténation de chaînes de caractères. L’expression
suivante préfixe une colonne de type caractères avec les caractères ‘Reporté par : ‘:
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
14
Guide de départ pour Firebird } Autres choses intéressantes à connaître
‘Reporté par : ‘ || LastName
Faites attention lors de concaténation. Firebird produira une erreur si votre expression tente de
concaténer deux ou plusieurs colonnes de type CHAR ou VARCHAR qui après concaténation
pourraient excéder la longueur maximum permise d’un type CHAR ou VARCHAR soit 32K.
Voir aussi les notes ci-dessous, Expressions impliquants NULL, à propos de la concaténation dans
les expressions qui impliquent NULL.
Division d’un entier par un entier
Firebird est conforme au standard SQL en tronquant le résultat (quotient) d’un calcul entier/entier
(integer/integer) au prochain entier plus petit. Ceci peut donner d’étranges résultats à moins que vous
en soyez informé.
Par exemple, ce calcul est correct en SQL :
1 / 3 = 0
Si vous mettez à jour une RDBMS qui résout les divisions entier/entier en un quotient de type nombre
à virgule flottante (float), vous devrez modifier les expressions affectées, pour utiliser un nombre à
virgule flottante ou un type numérique proportionné pour le dividende, le diviseur ou les deux.
Par exemple, le calcul ci-dessus pourrait être modifié ainsi afin de produire un résultat différent de 0 :
1.000 / 3 = 0.333
Expressions impliquants NULL
En SQL, NULL n’est pas une valeur. C’est une condition ou un état d’un item « donnée » dans lequel
sa valeur est inconnue. Puisque la valeur est inconnue, null ne peut se comporter comme une valeur.
Lorsque vous tentez d’effectuer de l’arithmétique avec null, ou impliquer null avec des valeurs dans
d’autres expressions, le résultat de l’opération sera toujours NULL. Ce n’est pas zéro ou vide ou une
chaîne vide et ne se comporte pas comme aucune de ces valeurs.
Ainsi, voici quelques exemples du type de surprises que vous obtiendrez si vous tentez d’effectuer
des calculs ou comparaison avec NULL :
1 + 2 + 3 + NULL = NULL
if (a = b) then
MyVariable = 'Equal'
else
MyVariable = 'Not equal';
retournera ‘Not equal’si les deux variables a et b sont null.
if (a <> b) then
MyVariable = 'Not equal'
else
MyVariable = 'Equal';
Retournera aussi ‘Not equal’si les deux variables a et b sont null.
FirstName ||' ' || LastName
retournera NULL si l’un ou l’autre FirstName ou LastName est NULL.
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
15
Guide de départ pour Firebird } Autres choses intéressantes à connaître
Copie de sauvegarde (Backup)
Firebird vient avec son propre utilitaire pour sauvegarder ou restaurer vos bases de données. Son
nom est gbak et peut être trouvé dans le répertoire ./bin de votre installation Firebird. Les bases de
données Firebird peuvent être sauvegardées pendant que les utilisateurs sont connectés au système
et effectue leur travaux normaux. La sauvegarde sera prise à partir d’une image de l’état de la base
de données lorsque la sauvegarde commence.
Des sauvegardes régulières ainsi que des restaurations occasionnelles à l’aide de gbak devraient
être une partie préprogrammée de vos activités de gestion de bases de données.
N’utilisez pas d’utilitaires de sauvegarde propriétaires externes ou des utilitaires de copie de
fichiers comme par exemple Winzip, tar, copy, xcopy, etc… , sur une base de données qui est
en cours d’utilisation. Non seulement la sauvegarde sera peu fiable, mais le blocage disque
utilisé par cet utilitaire peu endommager une base de données en cours utilisation.
Étudiez l’avertissement dans la prochaine section à propos de l’activité d’une base de
données pendant des restaurations!
Comment endommager une base de données
1. Modifier les tables de métadonnées vous-même
Firebird stock et maintient toutes les métadonnées de ses propres objets ainsi que ceux que vous
définissez dans une base de données Firebird! Plus précisément, il stock ceux-ci en relations (tables)
directement dans la base de données elle-même. Les identifiants pour les tables système, leurs
colonnes ainsi que plusieurs autres types d’objets système commencent avec les caractères ‘RDB$’.
Puisqu'ils sont des objets de base de données ordinaires, ils peuvent être interrogés et manipulés
comme les objets que vous définissez. Cependant, parce que vous pouvez ne veut pas
nécessairement dire vous devriez. Le moteur Firebird met en application un haut niveau de sousensembles du SQL (DDL) dans le but de définir et d’opérer sur les objets métadonnées, typiquement
via les commandes CREATE, ALTER et DROP.
Il ne peut être recommandé trop fortement que vous utilisiez DDL (pas d’opérations directes sur les
tables système) chaque fois que vous avez besoin de modifier ou d’enlever des métadonnées. Évitez
les trucs et pirouettes (hot fix) jusqu'à ce que vos compétences au niveau du SQL et votre
connaissance du moteur Firebird deviennent très avancées.
2. Désactiver les écritures forcées (forced writes) sous Windows
Firebird est installé avec le paramètre « Forced Writes » (écritures synchrones) activé par défaut. Les
nouvelles données ou modifications sont immédiatement écrites sur le disque dès leur signalement.
Il est possible de configurer une base de données pour qu’elle utilise l’écriture de données
asynchrone, ce qui permet de garder en mémoire cache les nouvelles données ou modifications. La
mémoire cache est vidée périodiquement sur le disque par le sous-système d’entrée sortie du
système d’exploitation (I/O subsystem). Le terme commun pour cette configuration est forced writes
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
16
Guide de départ pour Firebird } Autres choses intéressantes à connaître
off (écritures forcées désactivées). Il peut être parfois intéressant d’y avoir recours afin d’améliorer
les performances pendant de grandes opérations en lots.
Le mot d’ordre ici est ne désactivez pas les écritures forcées sur un serveur Windows. Il a été
observé que les plates-formes Windows serveur ne vident pas le cache (write cache) tant que le
service Firebird n’est pas arrêté. À part une interruption de courant, il y a trop de choses qui peuvent
mal fonctionner sur un serveur Windows. Si votre serveur Windows devait planté, le système
d’entrée/sortie (I/O system) deviendrait hors de porté et le travail de vos utilisateurs sera perdu lors
du processus de redémarrage.
Windows 9x et ME ne supportent pas les écritures de données en différé.
Désactiver les écritures forcées (forced writes) sur un serveur Linux
Les serveurs Linux sont plus fiables pour exécuter une opération avec les écritures forcées
désactivées temporairement. Ne les laissez pas désactivées une fois que votre opération en lot est
terminée, à moins que vous ayez un système très robuste de protection de chute d’alimentation.
3. Restauration d’une sauvegarde sur une base de données en exécution
Une des options de l’utilitaire gbak (gbak –r[estore]) vous permet de restaurer un fichier gbak
par dessus une base de données existante. Il est possible pour ce type de restauration de s’effectuer
sans avertissement pendant que les utilisateurs sont connectés à la base de données. Dans un tel
cas, il est presque certain que le résultat sera l’endommagement de la base de données.
Tenez compte que vous devrez concevoir vos outils d’administration ainsi que vos
procédures pour prévenir toute possibilité pour tout utilisateur (y compris l’utilisateur SYSDBA)
de restaurer votre base de données si des utilisateurs y sont connectés.
Pour des instructions sur la commande gbak, référez-vous au chapitre 21, Database
Backup and Restore (p. 390 dans le manuel Using Firebird).
Pour des instructions à propos du blocage des accès aux utilisateurs, référez-vous au chapitre
14, Getting exclusive access to a database (p. 283 de Using Firebird)
Si possible, il est recommandé de faire la restauration vers un autre endroit sur le disque en utilisant
l’option gbak –c[reate] et de vérifier la base de données restaurée à l’aide de isql ou de votre
outil d’administration préféré. Si la base de données restaurée est correcte, arrêtez le serveur
Firebird. Ensuite, faites une copie de votre ancienne base de données, puis copiez le fichier restauré
(ou les fichiers) par dessus les anciens.
4. Autoriser les utilisateurs à se connecter pendant une restauration
Si vous ne bloquez pas l’accès aux utilisateurs pendant que vous effectuez une restauration à l’aide
de gbak –r[estore] , les utilisateurs peuvent se connecter et tenter de faire certaines opérations
sur les données. Dans un tel cas, la structure de la base de données deviendra endommagée.
Où se référer ensuite?
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
17
Guide de départ pour Firebird } Où se référer ensuite?
Comment obtenir de l’aide
La communauté composée de personnes disposées à aider autour de Firebird remonte à plusieurs
années avant que le code source de son ancêtre InterBase® 6, soit rendu ouvert (open source).
Collectivement, la communauté Firebird a toutes les réponses! La communauté inclut même
quelques personnes qui ont été impliquées dans ce projet depuis le début, lorsque ce n’était qu’un
concept sur une planche à dessin dans une chambre de bain de Boston.
Visitez le site officiel du projet Firebird à l’adresse http://firebird.sourceforge.net/ et
adhérez aux listes d’assistance aux utilisateurs.
Visitez le site d’informations de Firebird à l’adresse http://www.ibphoenix.com/ pour accéder
à une vaste collection d’informations à propos de la façon de développer avec Firebird et
comment utiliser Firebird.
Obtenez le manuel Using Firebird et son volume compagnon The Firebird Reference Guide.
Ces deux volumes sont inclus sur le cd-rom IBPhoenix en format électronique similaire à celuici. Ces deux volumes se référencent mutuellement.
Lisez le manuel Firebird Reference Guide, Resources and References (ch. 10 p.399) pour une
collection de ressources utiles à propos de Firebird, SQL et le développement d’applications
de bases de données.
Utiliser les livres de IBPhoenix Publications
Les livres Using Firebird et The Firebird Reference Guide ont été conçus pour qu’ils soient facile
d’utilisation et d’accès pendant vos travaux de développement. Un bouton en haut à droite de chaque
page indiquera à Adobe Acrobat de commuter entre les deux volumes. Chaque page a aussi une
barre de navigation avec des boutons pour vous apporter directement au listing index pour le
caractère sélectionné. Tous les index ont un hyperlien à leur source. Si le lecteur configure l’affichage
à une résolution de 125%, une page complète ainsi que le menu hypertexte sur le coté sera visible.
Pour de plus amples informations à propos de la configuration de votre serveur et de votre réseau,
référez-vous aux chapitres précédents du manuel Using Firebird. Le chapitre 7 est une référence
consacrée au dépannage. Les chapitres suivants traitent des questions de conception, de langage et
de développement, et fournit des instructions détaillées sur l’utilisation des outils en ligne de
commandes.
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
18
Guide de départ pour Firebird } Le projet Firebird
Le projet Firebird
Les développeurs, concepteurs, testeurs, qui vous ont donné Firebird et plusieurs pilotes (drivers)
sont membres du projet « Firebird Open Source » à SourceForge, cette extraordinaire communauté
qui est la maison de milliers d’équipes de logiciels à code ouvert. L’adresse du projet Firebird est
http://sourceforge.net/projects/firebird . Sur ce site, il y a l’arbre du code source (source code
tree), le gestionnaire de bogues (bug tracker) et un nombre de fichiers techniques qui peuvent être
téléchargés à plusieurs fins relativement au développement et au test du code.
Les développeurs et testeurs du projet Firebird utilisent le forum (email list forum) [email protected] comme leur laboratoire virtuel pour communiquer entre eux à propos
de leur travail, les améliorations, la correction de bogues et la production de nouvelles versions de
Firebird.
Toute personne qui est intéressée à observer l’évolution du projet, peuvent adhérer à ce forum.
Cependant, les questions de support des utilisateurs ne sont pas les bienvenues dans ce forum.
S.v.p., ne tentez pas d’envoyer vos questions de support dans ce forum!
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
19
Guide de départ pour Firebird } Index alphabétique
Index alphabétique
A
Apostrophes dans les chaînes 14
Aide 18
B
Bases de données
se connecter à 9
employee.gdb 9
chemin d’accès 9
création à l’aide de isql 11
sur un cd-rom 3
en lecture seule 3
P
Panneau de configuration Windows 5
Ping 4
C
Copie de sauvegarde (Backup) 16
Concaténation de chaînes de caractères 14
CONNECT (commande) 10
Chemin d’accès 9
E
Expressions impliquants NULL 15
F
Firebird (le projet) 18
Forced Writes 16
M
Mot de passe
masterkey 8
par défaut 8
changer 8
N
NULL 15
Nom d’utilisateur
par défaut 8
SYSDBA 8
O
Outils d’administration 9
Obtenir de l’aide 18
S
Serveur (nom et chemin d’accès) 9
Symbole de délimitation 13
T
Tables système 16
Top (utilitaire Linux) 7
V
Vérification du serveur Firebird 4
G
gbak 16
Guardian 5
I
Installation «client seulement» 12
Identifiants doubles guillemets 14
Installation
emplacements disque 1
sur disques 3
kits 1
scripts ou programmes 3
isql
démarrage 11
© IBPHOENIX PUBLICATIONS 2002, 2003
GUIDE DE DÉPART POUR FIREBIRD
20

Documents pareils