Ce matériel a été créé avec le soutien et le parrainage de iBase.ru, une société qui développe des outils Firebird SQL pour les entreprises et fournit des services d’assistance technique pour Firebird SQL.
Le matériel est publié sous la licence de documentation publique https://www.firebirdsql.org/file/documentation/html/en/licenses/pdl/public-documentation-license.html
Introduction
Cet article s’adresse principalement à ceux qui prévoient passer à Firebird 5.0 dans un avenir rapproché. De nombreux administrateurs utilisent encore Firebird 2.5, mais prévoient de passer à la version 5.0. C’est pourquoi cet article décrit le processus de migration à partir des versions 2.5, 3.0 et 4.0 de Firebird.
Le sponsor de l’article « Migration Guide to Firebird 5.0 » est IBSurgeon (iBase.ru) (https://www.ib-aid.com, https://www.ibase.ru) : support technique et outils de développement et d’administration pour le SGBD Firebird.
Installation manuelle de Firebird 5.0 sous Windows
Ce qui suit décrit comment installer à partir d’une archive zip. Même si vous installez Firebird à partir d’une trousse d’installation spéciale, il se peut que vous ayez à modifier certains paramètres après l’installation. De plus, l’installation manuelle vous permet d’installer plusieurs versions de Firebird sur la même machine.
Téléchargez l’archive de débit appropriée et extrayez-la dans le répertoire où se trouvera le serveur Firebird.
L’étape suivante consiste à créer un utilisateur SYSDBA. Pour les administrateurs qui ont migré de Firebird 3.0 ou 4.0, cette opération n’est pas nouvelle. Dans Firebird 2.5 et les versions antérieures, l’utilisateur SYSDBA existait toujours après l’installation et avait un mot de passe par défaut de masterke, qui devait être changé immédiatement.
Initialisation de SYSDBA
Depuis Firebird 3.0, l’utilisateur SYSDBA n’est pas initialisé par défaut (pour le plugin de gestion des utilisateurs SRP), il est donc nécessaire de créer explicitement un utilisateur et de lui donner un mot de passe. Cela peut être fait de deux manières : en utilisant l’outil de console isql.exe
pour exécuter des requêtes interactives et l’outil de console gsec.exe
pour gérer la base de données de sécurité.
Note
|
Remarque
Selon le déploiement de Firebird, ces utilitaires peuvent devoir être exécutés avec des privilèges d’administrateur. |
Initialisation de SYSDBA avec ISQL
Exécutez l’outil de requête interactif isql.exe
.Se connecter à la base de données de sécurité en mode serveur intégré, en spécifiant l’utilisateur SYSDBA sans mot de passe.L’utilisateur SYSDBA n’existe pas encore dans la base de données de sécurité, mais en mode intégré, l’utilisateur et son mot de passe ne sont pas vérifiés, et Firebird fait confiance à tout nom d’utilisateur spécifié.Exécutez une requête SQL pour créer un utilisateur SYSDBA :
CREATE USER SYSDBA PASSWORD '<password>';
L’utilisateur SYSDBA est initialisé, vous pouvez quitter le mode interactif.
c:\Firebird\5.0>isql security.db -user SYSDBA Database: security.db, User: SYSDBA SQL> CREATE USER SYSDBA PASSWORD 'm8ku234pp'; SQL> exit;
Initialisation de SYSDBA avec GSEC
Exécutez gsec.exe
, en spécifiant l’utilisateur SYSDBA et la base de données security.db
.Exécutez la commande pour ajouter un utilisateur SYSDBA :
add SYSDBA -pw <password>
c:\Firebird\5.0>gsec -user SYSDBA -database security.db * gsec est obsolète et sera bientôt supprimé * GSEC> add SYSDBA -pw m8ku234pp GSEC> quit
Warning
|
Avertissement
L’outil |
Configuration
Avant de pouvoir installer et exécuter Firebird en tant que service, vous devez sélectionner un mode serveur.
Mode serveur
Par défaut, Firebird démarre en mode SuperServer. Si vous voulez que le serveur démarre dans une architecture différente, vous devez changer la valeur du paramètre ServerMode dans firebird.conf
. Décommentez-le (enlevez le caractère dièse '#') et définissez le mode désiré : Super, SuperClassic ou Classic.
ServerMode = Classic
Autorisation des bibliothèques client Firebird 2.5
Firebird 5.0 utilise par défaut l’authentification par mot de passe sécurisé (SRP). Les clients Firebird 2.5 et antérieurs utilisaient l’authentification traditionnelle (Legacy_Auth), qui est désactivée par défaut dans Firebird 5.0 parce qu’elle n’est pas sécurisée.
Les paramètres suivants AuthServer, UserManager et WireCrypt doivent être modifiés pour prendre en charge l’authentification traditionnelle.
AuthServer = Srp256, Srp, Legacy_Auth UserManager = Srp, Legacy_UserManager WireCrypt = Enabled
Après les manipulations ci-dessus, nous aurons deux gestionnaires d’utilisateurs actifs. Par défaut, c’est le premier de la liste des gestionnaires d’utilisateurs qui est actif.
Important
|
Important
Les utilisateurs portant le même nom dans différents gestionnaires d’utilisateurs sont des utilisateurs différents et peuvent avoir des mots de passe différents. Cela s’applique également à SYSDBA et au propriétaire de la base de données. |
Note
|
Si vous n’avez pas besoin du support pour l’authentification par mot de passe sécurisé (SRP), supprimez les plugins Srp256 et Srp de |
Précédemment, nous avons déjà créé un SYSDBA dans le gestionnaire des utilisateurs SRP. Dans Legacy_UserManager, SYSDBA existe déjà, et avec un mot de passe standard masterkey, qui doit être changé. Nous allons le faire en utilisant l’outil isql
. Dans la déclaration ALTER USER
, il est nécessaire de spécifier le Legacy_UserManager.
c:\Firebird\5.0>isql security.db -user SYSDBA Database: security.db, User: SYSDBA SQL> ALTER USER SYSDBA SET PASSWORD 'er34gfde' USING PLUGIN Legacy_UserManager; SQL> exit;
Réglage du fuseau horaire de connexion par défaut
A partir de Firebird 4.0, de nouveaux types de date et d’heure avec prise en charge des fuseaux horaires sont disponibles.
Même si vous n’avez pas l’intention d’utiliser des types avec des fuseaux horaires de sitôt, vous devez savoir que les expressions CURRENT_TIMESTAMP et CURRENT_TIME renvoient maintenant des types de données avec des fuseaux horaires. Il existe un mode de compatibilité qui vous permet de convertir les types avec des fuseaux horaires en types sans fuseaux horaires. Toutefois, cette conversion peut ne pas fonctionner correctement si le fuseau horaire de la connexion est mal défini.
Normalement, le fuseau horaire de la session est défini du côté du client. Si le fuseau horaire côté client n’est pas défini, le fuseau horaire par défaut est celui du système d’exploitation. Vous pouvez également définir le fuseau horaire par défaut de la session en utilisant le paramètre de configuration DefaultTimeZone
.
DefaultTimeZone = Europe/Moscow
Exécution simultanée de plusieurs instances Firebird
Nous partons ici du principe que vous souhaitez faire fonctionner des instances de différentes versions de Firebird, chacune étant installée dans un répertoire différent.
Pour démarrer plusieurs instances de Firebird en même temps, il est nécessaire de les répartir sur des ports tcp différents (si, bien sûr, le listener fonctionne en mode d’écoute TCP/IP). Pour ce faire, changez le paramètre RemoteServicePort dans firebird.conf
.
Par exemple, si vous avez déjà un serveur qui écoute sur le port 3050, vous devriez définir un autre port libre, tel que 3051. Dans ce cas, vous devrez spécifier le nouveau port dans la chaîne de connexion (sauf si firebird.conf
avec le numéro de port par défaut modifié est disponible pour l’application et le client Firebird).
RemoteServicePort = 3051
Il est également nécessaire de définir des valeurs uniques pour le paramètre IpcName pour chaque instance de serveur SGBD. Cela évitera les messages d’erreur dans firebird.log
. Ces erreurs ne sont pas critiques si vous n’utilisez pas le protocole XNET. Cependant, si vous l’utilisez, vous devez prendre en compte le fait que ce paramètre devra être modifié du côté client via DPB.
Installation et fonctionnement de Firebird en tant que service
L’utilitaire instsvc.exe écrit, supprime ou modifie les informations de démarrage du serveur dans la base de données des services du système d’exploitation. Il permet également de contrôler le démarrage et l’arrêt des services.
Si vous l’exécutez sans paramètres, il affichera de l’aide sur les commandes et les paramètres.
instsvc Usage: instsvc i[nstall] [ -a[uto]* | -d[emand] ] [ -g[uardian] ] [ -l[ogin] username [password] ] [ -n[ame] instance ] [ -i[nteractive] ] sta[rt] [ -b[oostpriority] ] [ -n[ame] instance ] sto[p] [ -n[ame] instance ] q[uery] r[emove] [ -n[ame] instance ] '*' indique les valeurs par défaut '-z' peut être utilisé avec n'importe quelle autre option, version imprimée 'username' fait référence par défaut à un compte local sur cette machine. Utilisez le format "domain\username" ou "server\username" si nécessaire.
Important
|
Important
L’utilitaire instsvc doit être exécuté dans une console avec des privilèges administratifs (exécuter la console en tant qu’administrateur). |
Pour installer le service, vous devez entrer la commande suivante
instsvc install
Dans ce cas, Firebird sera installé en tant que service nommé "Firebird Server - DefaultInstance". Ce service sera lancé automatiquement au démarrage du système d’exploitation, sous le compte LocalSystem dédié aux services.
Si vous souhaitez que plusieurs instances de Firebird fonctionnent en tant que services, vous devez leur donner des noms différents en utilisant l’option -n
.
instsvc install -n fb50
Pour démarrer le service, utilisez la commande
instsvc start
Si le service a été installé avec un nom autre que celui par défaut, vous devez utiliser le commutateur -n
.
instsvc start -n fb50
Pour arrêter le service, utilisez la commande
instsvc stop
Si le service a été installé avec un nom autre que celui par défaut, vous devez utiliser le commutateur -n
.
instsvc stop -n fb50
Pour supprimer un service, entrez la commande
instsvc remove
Si le service a été installé avec un nom autre que celui par défaut, vous devez utiliser le commutateur -n
.
instsvc remove -n fb50
Pour afficher tous les services Firebird installés dans le système, utilisez la commande
instsvc query
Firebird Server - fb30 IS installed. Status : running Path : C:\Firebird\3.0\firebird.exe -s fb30 Startup : automatic Run as : LocalSystem Firebird Server - fb40 IS installed. Status : running Path : C:\Firebird\4.0\firebird.exe -s fb40 Startup : automatic Run as : LocalSystem Firebird Server - fb50 IS installed. Status : running Path : C:\Firebird\5.0\firebird.exe -s fb50 Startup : automatic Run as : LocalSystem
Utilisation de install_service.bat et uninstall_service.bat
Pour simplifier l’installation et la désinstallation des services, deux fichiers BAT, install_service.bat
et uninstall_service.bat
, sont fournis avec Firebird dans une archive ZIP.
Dans ce cas, la procédure d’installation de Firebird en tant que service est la suivante
install_service.bat
Dans ce cas, la procédure de désinstallation du service Firebird est la suivante
uninstall_service.bat
S’il est nécessaire de donner au service un nom différent de celui par défaut, spécifiez ce nom en tant qu’argument
install_service.bat fb50
Si le service a été installé avec un nom autre que celui par défaut, spécifiez ce nom en tant qu’argument
uninstall_service.bat fb50
Installation du client
Si seule la partie client doit être installée, le fichier fbclient.dll
est nécessaire. Le client Firebird 5.0 nécessite l’installation de Microsoft Runtime C++ 2015-2022 avec le débit binaire approprié. Si cette bibliothèque n’est pas installée, vous pouvez copier les bibliothèques supplémentaires fournies dans l’archive ZIP pour Windows msvcp140.dll
et vcruntime140.dll
(pour l’installation 64-bit également vcruntime140_1.dll
).
Il est souhaitable d’avoir un fichier de messages firebird.msg
à côté de fbclient.dll
. La plupart des messages d’erreur sont déjà contenus dans fbclient.dll
, mais si vous voulez utiliser les utilitaires de la console, le fichier firebird.msg
doit être présent.
Contrairement à Firebird 2.5 et Firebird 3.0, la bibliothèque client nécessite également les fichiers ICU (icudt63.dll
, icuin63.dll
, icuuc63.dll
et icudt63l.dat
). Auparavant, la bibliothèque ICU n’était requise que par le serveur. Maintenant, elle peut être requise par le client si vous allez travailler avec les types de données TIMESTAMP WITH TIME ZONE
et TIME WITH TIME ZONE
. La bibliothèque ICU est également requise lors de l’appel des fonctions UtilInterface::decodeTimeTz()
et UtilInterface::decodeTimestampTz()
.
Note
|
Remarque
Windows 10 peut utiliser la bibliothèque ICU fournie avec le système d’exploitation. |
Si la compression du trafic est nécessaire lors de l’utilisation de TCP/IP, la bibliothèque zlib1.dll
est requise.
Vous pouvez avoir besoin de la bibliothèque plugins/chacha.dll
si vous avez l’intention d’utiliser le plugin de cryptage du trafic ChaCha. Ce plugin est utilisé par défaut depuis Firebird 4.0, car il est le premier listé dans le paramètre de configuration WireCryptPlugin = ChaCha, Arc4
.
Note
|
Note sur le chargement des plug-ins
La version 3.0 de Cependant, il y a une caractéristique importante. Ce comportement peut vous jouer un mauvais tour. Le fait est que l’installateur 64 bits localise la bibliothèque 32 bits Error loading plugin ChaCha. Module C:\Firebird\5.0\plugins/ChaCha exists but can not be loaded. unknown Win32 error 193. Dans ce cas, le fichier 32-bit Pour corriger cette erreur, il suffit de placer le fichier |
La bibliothèque fbclient.dll
, ainsi que les autres fichiers de la bibliothèque du client, doivent être situés soit près de l’application, soit dans l’un des répertoires dans lesquels la recherche est effectuée, par exemple ajouté à PATH
ou au répertoire système pour les bibliothèques publiques (system32
ou SysWOW64
).
Important
|
Important
Placer la bibliothèque du client dans le |
Utilité instclient
Pour déployer la bibliothèque client Firebird dans le répertoire système de Windows, utilisez la commande
instclient install fbclient
Important
|
Important
L’utilitaire instclient ne copie aucun fichier autre que |
Installation de la version embedded
Depuis Firebird 3.0, la version intégrée n’est plus distribuée séparément. Vous pouvez utiliser le même ensemble de fichiers à la fois en tant que serveur réseau et en tant que serveur intégré. Cependant, si vous avez besoin d’un ensemble de fichiers de taille minimale, la structure des fichiers et des répertoires pour Firebird 5.0 embedded est la suivante :
-
intl
-
fbintl.conf
-
fbintl.dll
-
-
plugins
-
engine13.dll
-
-
firebird.conf
-
icudt63l.dat
-
fbclient.dll
-
ib_util.dll
-
icudt63.dll
-
icuin63.dll
-
icuuc63.dll
-
msvcp140.dll
-
vcruntime140.dll
-
vcruntime140_1.dll
-
firebird.msg
Si nécessaire, vous pouvez également copier les exécutables des utilitaires fbsvcmgr.exe
, fbtracemgr.exe
, gbak.exe
, gfix.exe
, gstat.exe
, isql.exe
, nbackup.exe
. Si vous allez utiliser gbak
avec le commutateur -zip
, vous aurez également besoin de la bibliothèque zlib1.dll
.
Note
|
Remarque
Pour ceux qui migrent depuis Firebird 2.5, il y a deux choses à prendre en compte :
|