Connexion à une base de données MongoDB (FireDAC)
Remonter à Connectivité des bases de données (FireDAC)
Cette rubrique explique comment établir une connexion à MongoDB en utilisant FireDAC.
MongoDB est une base de données de documents NoSQL open-source.
Sommaire
Obtention de MongoDB
Vous pouvez télécharger MongoDB sur le site officiel www.mongodb.org/downloads (EN).
Versions prises en charge
Le pilote MongoDB FireDAC prend en charge MongoDB version 3.0 et ultérieure.
Logiciel client
Logiciel client Windows
FireDAC requiert le "pilote MongoDB C" pour la connexion au serveur MongoDB. L'installation de RAD Studio inclut les bibliothèques précompilées suivantes :
- libbson-1.0.dll : une bibliothèque BSON
- libmongoc-1.0.dll : un pilote MongoDB C.
Les bibliothèques client de connexion au serveur MongoDB sont incluses dans l'installation de RAD Studio :
C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\Win32
: contient les versions 32 bits de libbson-1.0.dll et libmongoc-1.0.dll- Utilisez-les pour les applications de bureau Win32 ou pour la connexion à MondoDB lors de la conception.
C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\Win64
: contient les versions 64 bits de libbson-1.0.dll et libmongoc-1.0.dll- Utilisez-les pour les applications de bureau Win64.
Enregistrez les bibliothèques requises dans l'un quelconque des emplacements suivants :
- un dossier inclus dans votre variable d'environnement PATH (par exemple, <Windows>\SYSTEM32).
- le dossier EXE de votre application.
- tout autre dossier, que vous devez spécifier dans FDDrivers.ini :
[Mongo]
VendorLib=<folder>\libmongoc-1.0.dll
Si la bibliothèque client MongoDB n'a pas été installée correctement, une exception est déclenchée lorsque vous tentez d'établir une connexion :
Logiciel client macOS
FireDAC requiert les bibliothèques dynamiques suivantes pour la connexion au serveur MongoDB :
- libbson-1.0.0.dylib
- libmongoc-1.0.0.dylib
Ces bibliothèques sont incluses dans l'installation de RAD Studio, dans le dossier C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\osx32
.
Enregistrez-les dans /usr/local
.
Logiciel client Linux
FireDAC requiert la bibliothèque mongo-c-driver. Pour l'installer, procédez comme suit :
-
Sur Ubuntu Server 16.04 LTS, exécutez :
sudo apt-get install libmongoc sudo ln -s /usr/lib/x86_64-linux-gnu/libmongoc-1.0.so.0 /usr/lib/x86_64-linux-gnu/libmongoc-1.0.so sudo ln -s /usr/lib/x86_64-linux-gnu/libbson-1.0.so.0 /usr/lib/x86_64-linux-gnu/libbson-1.0.so
-
Sur Red Hat Enterprise Linux 7, construisez mongo-c-driver à partir de la source, installez-le et exécutez :
sudo ln -s /usr/lib64/libmongoc-1.0.so.0 /usr/lib/x86_64-linux-gnu/libmongoc-1.0.so sudo ln -s /usr/lib64/libbson-1.0.so.0 /usr/lib/x86_64-linux-gnu/libbson-1.0.so
Liaison du pilote
Pour lier le pilote :
- Déposez un composant TFDPhysMongoDriverLink à partir de la page "Liens FireDAC" de la palette de composants sur le Concepteur de fiches.
- Ou incluez l'unité FireDAC.Phys.MongoDB dans la clause uses.
Paramètres de définition de la connexion
DriverID=Mongo
Paramètre | Description | Valeur exemple |
---|---|---|
Server | Adresse TCP/IP ou nom d'hôte du serveur exécutant le processus de base de données MongoDB. | 127.0.0.1 |
Port | Le port TCP/IP sur lequel le processus de base de données MongoDB écoute. | 27017 |
Database | Nom de la base de données en cours pour la connexion. Si ce paramètre n'est pas spécifié, aucune base de données n'est configurée. | test |
User_Name | L'ID de l'utilisateur MongoDB. | |
Password | Le mot de passe de l'utilisateur MongoDB. | |
UseSSL |
Spécifiez True pour activer la connexion SSL. La valeur par défaut est False. L'attribution de la valeur True à UseSSL requiert en outre la spécification des paramètres de définition de connexion suivants :
Pour plus d'informations, voir la documentation MongoDB : |
True |
LoginTimeout | Contrôle la durée, en secondes, s'écoulant avant qu'une application dépasse le temps imparti pour établir la connexion. | 0 |
ReadTimeout | Délai, en secondes, pour tenter de lire à partir du serveur. Comme chaque tentative utilise cette valeur et que plusieurs tentatives peuvent s'avérer nécessaires, la valeur totale du délai efficace équivaut à trois fois la valeur de l'option. | 300 |
MongoAdvanced | Autres options de connexion à la base de données MongoDB :
Pour plus d'informations, voir la documentation MongoDB : |
Cas d'utilisation
Utilisation d'une connexion sécurisée
Pour utiliser l'encryptage TLS/SSL, définissez le paramètre UseSSL avec True
comme valeur, puis spécifiez les paramètres SSLPEMKeyFile et SSLCAFile comme suit :
DriverID=Mongo Server=<ip_address> Port=27017 Database=test UseSSL=True SSLCAFile=ca-cert.pem // The file that contains the certificate from the CA (Certificate Authority). SSLPEMKeyFile=client-key.pem and client-cert.pem // The file that contains the SSL certificate and key.
Vous pouvez également utiliser sslPEMKeyPassword si le fichier certificat-clé client est encrypté. Pour plus d'informations, voir TLS/SSL Configuration for Client (EN).
Remarque : Le pilote MongoDB C a été compilé sans prise en charge SSL. Si votre application requiert SSL, vous devez compiler le pilote MongoDB C vous-même et fournir un ensemble supplémentaire de bibliothèques requises. Ces bibliothèques peuvent requérir les bibliothèques d'exécution OpenSSL et Microsoft Visual C++.
Autres cas d'utilisation
- Connexion à un serveur exécuté localement, écoutant sur le port par défaut (27017) :
DriverID=Mongo Database=test
- Connexion à un serveur distant, écoutant sur un port autre que le port par défaut, avec l'authentification activée :
DriverID=Mongo Server=test Port=<port_number> Database=test User_Name=admin Password=<admin_password>