Herstellen einer Verbindung zur MongoDB-Datenbank (FireDAC)
Nach oben zu Datenbankkonnektivität (FireDAC)
In diesem Thema wird beschrieben, wie eine Verbindung zu MongoDB mit FireDAC hergestellt wird.
MongoDB ist eine Open-Source-NoSQL-Dokumentdatenbank.
Inhaltsverzeichnis
Beziehen von MongoDB
Sie können MongoDB von der offiziellen Website unter www.mongodb.org/downloads (EN) herunterladen.
Unterstützte Versionen
Der FireDAC-Treiber für MongoDB unterstützt MongoDB Version 3.0 und höher.
Client-Software
Windows-Client-Software
FireDAC benötigt den "MongoDB C-Treiber" für die Verbindung zum MongoDB-Server. Die RAD Studio-Installation enthält die folgenden vorcompilierten Bibliotheken: :
- libbson-1.0.dll: eine BSON-Bibliothek
- libmongoc-1.0.dll: ein MongoDB-C-Treiber.
Die Clientbibliotheken für die Verbindung zum MongoDB-Server sind in der RAD Studio-Installation enthalten:
C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\Win32
: Enthält 32-Bit-Versionen von libbson-1.0.dll und libmongoc-1.0.dll- Verwenden Sie diese für Win32-Desktop-Anwendungen oder für die Verbindung zu MongoDB beim Entwurf.
C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\Win64
: Enthält 64-Bit-Versionen von libbson-1.0.dll und libmongoc-1.0.dll- Verwenden Sie diese für Win64-Desktop-Anwendungen.
Speichern Sie die erforderlichen Bibliotheken in einem der folgenden Verzeichnisse:
- In einem in der Umgebungsvariable PATH aufgeführten Ordner (z. B. <Windows>\SYSTEM32).
- In Ihrem Anwendungs-EXE-Ordner.
- In einem beliebigen anderen Ordner, den Sie in der Datei FDDrivers.ini angeben müssen:
[Mongo]
VendorLib=<folder>\libmongoc-1.0.dll
Wenn die MongoDB-Clientbibliothek nicht ordnungsgemäß installiert wurde, wird beim Verbindungsversuch eine Exception ausgelöst:
macOS-Client-Software
FireDAC benötigt die folgenden dynamischen Bibliotheken für die Verbindung zum MongoDB-Server:
- libbson-1.0.0.dylib
- libmongoc-1.0.0.dylib
Diese Bibliotheken sind in der RAD Studio-Installation im Ordner C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\osx32
enthalten.
Speichern Sie sie in /usr/local
.
Linux-Client-Software
FireDAC benötigt die mongo-c-driver-Bibliothek. So installieren Sie sie:
-
Auf Ubuntu Server 16.04 LTS, führen Sie aus:
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
-
Auf Red Hat Enterprise Linux 7, build mongo-c-driver from source (EN), installieren Sie ihn und führen Sie aus:
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
Treibereinbindung
So binden Sie den Treiber ein:
- Ziehen Sie aus der Paletten-Seite "FireDAC Links" eine TFDPhysMongoDriverLink-Komponente in den Formular-Designer.
- Oder nehmen Sie die Unit FireDAC.Phys.MongoDB in die uses-Klausel auf.
Verbindungsdefinitionsparameter
DriverID=Mongo
Parameter | Beschreibung | Beispielwert |
---|---|---|
Server | Die TCP/IP-Adresse oder der Host-Name des Servers, auf dem der MongoDB-Datenbankprozess ausgeführt wird. | 127.0.0.1 |
Port | Der TCP/IP-Port, über den der MongoDB-Datenbankprozess empfängt. | 27017 |
Database | Name der aktuellen Datenbank für die Verbindung. Wenn "Database" nicht angegeben ist, wird keine aktuelle Datenbank eingerichtet. | test |
User_Name | Die MongoDB-Benutzer-ID. | |
Password | Das MongoDB-Benutzerpasswort. | |
UseSSL |
Geben Sie True an, um eine SSL-Verbindung zu aktivieren. Standardmäßig ist dieser Parameter auf False gesetzt. Wenn Sie "UseSSL=True" angeben, müssen Sie zusätzlich die Verbindungsdefinitionsparameter angeben:
Weitere Einzelheiten finden Sie in der MongoDB-Dokumentation: |
True |
LoginTimeout | Steuert die Dauer in Sekunden bis zur Zeitüberschreitung einer Anwendung beim Versuch, eine Verbindung herzustellen. | 0 |
ReadTimeout | Die Zeitüberschreitung in Sekunden für Versuche vom Server zu lesen. Jeder Versuch verwendet diesen Zeitüberschreitungswert und bei Bedarf sind Neuversuche möglich, sodass der effektive Gesamt-Zeitüberschreitungswert dreimal höher als der Optionswert ist. | 300 |
MongoAdvanced | Weitere MongoDB-Datenbankverbindungsoptionen:
Weitere Einzelheiten finden Sie in der MongoDB-Dokumentation: |
Anwendungsfälle
Verwenden einer sicheren Verbindung
Setzen Sie für die Verwendung der TLS/SSL-Verschlüsselung den Parameter UseSSL auf den Wert True
, und geben Sie dann die Parameter SSLPEMKeyFile und SSLCAFile wie folgt an:
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.
Sie können auch sslPEMKeyPassword verwenden, wenn die Client-Zertifikat-Schlüsseldatei verschlüsselt ist. Weitere Informationen finden Sie unter TLS/SSL Configuration for Client (EN).
Hinweis: Der MongoDB C-Treiber wurde ohne SSL-Unterstützung compiliert. Wenn für Ihre Anwendung SSL erforderlich ist, müssen Sie den MongoDB C-Treiber selbst compilieren und die zusätzlich benötigten Bibliotheken bereitstellen. Für diese Bibliotheken sind möglicherweise die OpenSSL- und Microsoft Visual C++-Laufzeitbibliotheken erforderlich.
Weitere Anwendungsfälle
- Herstellen einer Verbindung zu einem lokal ausgeführtem Server, der über den Standard-Port (27017) empfängt:
DriverID=Mongo Database=test
- Herstellen einer Verbindung zu einem lokal ausgeführtem Server, der an Nicht-Standard-Port mit aktivierter Authentifizierung empfängt :
DriverID=Mongo Server=test Port=<port_number> Database=test User_Name=admin Password=<admin_password>