Herstellen einer Verbindung zu Firebird (FireDAC)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankkonnektivität (FireDAC)

In diesem Thema wird beschrieben, wie eine Verbindung zur Firebird-Datenbank hergestellt wird.

Unterstützte Versionen

Der native FireDAC-Treiber unterstützt den Firebird-Server und die eingebetteten Editionen, Version 1.5 und höher. Jaffil wird nicht offiziell unterstützt.

Verwenden Sie den FireDAC-InterBase-Treiber, um eine Verbindung zu InterBase herzustellen.

Client-Software

Windows-Client-Software

Für FireDAC muss die folgende x86- oder x64-Client-Software auf dem Arbeitsplatz-Computer installiert sein:

  • Die Bibliothek FBCLIENT.DLL zum Herstellen einer Verbindung zum Firebird-Server. Sie können diese Bibliothek aus dem Ordner "Bin" einer Serverinstallation übernehmen (oder hier herunterladen (EN)).
  • Die Bibliothek FBEMBED.DLL für die Arbeit mit der Datenbank mithilfe des Firebird Embedded-Servers (Details (EN)).
Hinweis: Die Verwendung der richtigen DLL für die DBMS-Client-Bibliothek ist entscheidend. Verwenden Sie mit Firebird nicht GDS32.DLL und mit InterBase nicht FBCLIENT.DLL.

Sie können die erforderlichen Dateien in einen der folgenden Ordner einfügen:

  • In einen in der Umgebungsvariable PATH aufgeführten Ordner (z. B. <Windows>\SYSTEM32)
  • In Ihren Anwendungs-EXE-Ordner

Alternativ können Sie die erforderlichen Dateien in einem beliebigen Ordner speichern und den Pfad in der Datei FDDrivers.ini angeben:

[FB]
VendorLib=<folder>\fbclient.dll

Wenn die Firebird-Client-Bibliothek nicht ordnungsgemäß installiert wurde, wird beim Verbindungsversuch eine Exception ausgelöst:

[FireDAC][Phys][FB]-314. Laden der Herstellerbibliothek [fbclient.dll] nicht möglich. Das angegebene Modul wurde nicht gefunden. Überprüfen Sie [fbclient.dll], die sich in den PATH-Verzeichnissen oder im Anwendungs-EXE-Verzeichnis befindet.

OS X Client-Software

FireDAC benötigt:

  • die x86-Client-Bibliothek libfbclient.dylib, um eine Verbindung zum Firebird-Server herzustellen. Sie können diese Bibliothek aus dem Ordner "/Library/Frameworks/Firebird.framework/Libraries" einer Serverinstallation übernehmen (oder hier herunterladen (EN)).

Linux-Client-Software

FireDAC benötigt die Firebird-Client-Bibliothek. So installieren Sie sie:

  1. Auf Ubuntu Server 16.04 LTS führen Sie aus:
    sudo apt-get install libfbclient2
    sudo ln -s /usr/lib/x86_64-linux-gnu/libfbclient.so.2 /usr/lib/x86_64-linux-gnu/libfbclient.so
    
  2. Auf Red Hat Enterprise Linux 7 führen Sie aus:
    sudo yum install firebird-libfbclient
    sudo ln -s /usr/lib64/libfbclient.so.2 /usr/lib64/libfbclient.so
    

Treibereinbindung

So binden Sie den Treiber ein:

Verbindungsdefinitionsparameter

Für eine Verbindung mit dem Firebird-DBMS ist für die meisten Anwendungen die Angabe der Verbindungsdefinitionsparameter DriverID, Protocol, Server, Database, User_Name, Password und CharacterSet erforderlich (Einzelheiten finden Sie unter Definieren von Verbindungen (FireDAC)).

DriverID=FB

Parameter Beschreibung Beispielwert
Database

Der Name der zuzuordnenden Datenbank. Folgende Werte sind möglich:

  • Datenbankdateipfad.
  • Vollständiger Datenbankpfad, einschließlich Serveradresse.

Bei einer eingebetteten Datenbank kann ein Pfad Pfadvariablen enthalten.

  • C:\ib\ADDEMO_IB2007.IB
  • 127.0.0.1:C:\ib\ADDEMO_IB2007.IB
  • \\MySrv\C:\ib\ADDEMO_IB2007.IB
OSAuthent

Steuert den Authentifizierungsmodus:

  • Yes – Windows-Authentifizierung verwenden.
  • No – DBMS-Authentifizierung verwenden. Das ist der Vorgabewert.

Einzelheiten finden Sie in doc\README.trusted_authentication.txt.

Yes
User_Name Der Benutzername. sysdba
Password Das Benutzerpasswort. masterkey
CharacterSet Legt den zu verwendenden Zeichensatz fest.
Es wird dringend empfohlen, den Parameter CharacterSet auf einen der folgenden Werte zu setzen:
  • UTF8, wenn Ihre Anwendung Unicode unterstützen muss. Einzelheiten finden Sie unter "Verwenden von Unicode (FireDAC)".
  • WIN1250 für Mitteleuropa.
  • WIN1251 für Kyrillisch.
  • WIN1252 für Westeuropa, Amerika.
  • usw.
WIN1252
ExtendedMetadata

Steuert die erweiterte Beschreibung von Abfrage-Ergebnismengen:

  • True – FireDAC erhält Spaltendomänennamen zusätzlich zu den anderen Spaltenattributen. Wenn eine Spalte zu einer Domäne mit demselben Namen gehört, wie z. B. %BOOL%, wird sie als dtBoolean beschrieben. Wenn eine Tabelle über einen INSERT-Trigger verfügt, der eine einzelne Sequenz liest und deren Wert einer einzelnen Spalte zuweist, dann wird diese Spalte als eine Auto-Inkrementierungsspalte beschrieben. Durch Setzen dieser Option auf True wird das Öffnen von Datenmengen geringfügig verlangsamt.
  • False – FireDAC verwendet die beschränkten Informationen über die Abfragespalten. Das ist der Vorgabewert.
False
Port

Der TCP/IP-Port, über den der InterBase-Server empfängt. Standardmäßig ist dies der Port 3050. Falls InterBase einen anderen Port verwendet, sollten Sie den Parameter "Port" auf den erforderlichen Wert setzen.

3051
Protocol

Das für die Verbindung mit dem DB-Server verwendete Protokoll. Folgende Werte sind möglich:

  • Local – Herstellen einer Verbindung zu einem lokal ausgeführten Server, zu einem eingebetteten Server oder zu einem Server mit einem Alias.
  • NetBEUI – Herstellen einer Verbindung über das Microsoft NetBIOS-Protokoll.
  • SPX – Herstellen einer Verbindung über das Novel SPX-Protokoll.
  • TCPIP – Herstellen einer Verbindung über das TCP/IP-Protokoll.

Wenn der Parameter "Protocol" angegeben ist, erstellt FireDAC vollständige Datenbankpfade mit dem entsprechenden Protokollformat und den jeweiligen Parameterwerten für "Server" und "Database".

TCPIP
Server Adresse des Servers, zu dem eine Verbindung hergestellt werden soll. Der "Server"-Parameterwert wird nur verwendet, wenn der Parameter "Protocol" angegeben ist. Verwenden Sie für eine TCP/IP-Port-Nummer die Notation <Host>/<Port>.
  • 127.0.0.1
  • my_host/3055
SQLDialect Der für die Verbindung zu verwendende SQL-Dialekt. 3 ist der Vorgabewert. 1
RoleName Der Standardrollenname. Admin
OpenMode

Legt fest, wie die Datenbank geöffnet werden soll. Die folgenden Modi werden unterstützt:

  • Open – Öffnen einer vorhandenen, im Parameter Database angegebenen Datenbankdatei. Wenn die angegebene Datenbank nicht vorhanden ist, löst die Anwendung eine Exception aus. Das ist der Vorgabewert.
  • Create – Erstellen einer neuen Datenbank. Wenn die angegebene Datenbank vorhanden ist, löst die Anwendung eine Exception aus.
  • OpenOrCreate – Öffnen einer vorhandenen Datenbank oder Erstellen einer neuen Datenbank, wenn die angegebene Datenbank nicht vorhanden ist.
Open
DropDatabase

Steuert das Löschen einer vorhandenen Datenbank:

  • Yes – Löschen der Datenbankdatei, die im Parameter "Database" angegeben ist, unmittelbar nach Aufheben der Verbindung mit dem Server.
  • No – Datenbank nicht löschen. Das ist der Vorgabewert.
Yes
PageSize Die Seitengröße für die neu erstellte Datenbank, wenn "CreateDatabase = Yes" ist. 1024 ist der Vorgabewert. 4096
IBAdvanced Die durch ";" getrennte Liste mit weiteren Parametern. In der Unit FireDAC.Phys.IBWrapper (beim Konstanten-Array DPBInfos) finden Sie die vollständige Liste der unterstützten Parameter. Die Beschreibung des hier aufgeführten Codes finden Sie in den InterBase/Firebird-Handbüchern.

Anwendungsfälle

  • Herstellen einer Verbindung über das TCP/IP-Protokoll zu einer Datenbank, die auf einem Remote-Server ausgeführt wird:


DriverID=FB
Database=C:\fb\ADDEMO_FB21.FDB
Protocol=TCPIP
Server=FBSrv
User_Name=sysdba
Password=masterkey
CharacterSet=win1252
ExtendedMetadata=True
  • Herstellen einer Verbindung über das TCP/IP-Protokoll zu einer Datenbank, die auf einem Remote-Server ausgeführt wird:


DriverID=FB
Database=FBSrv:C:\fb\ADDEMO_FB21.FDB
User_Name=sysdba
Password=masterkey
CharacterSet=utf8
  • Herstellen einer Verbindung zu einer lokalen Datenbank:


DriverID=FB
Database=C:\fb\ADDEMO_FB21.FDB
User_Name=sysdba
Password=masterkey
CharacterSet=win1251
  • Herstellen einer Verbindung zu einer Firebird Embedded-Datenbank:

Legen Sie die Komponente TFDPhysFBDriverLink auf dem Formular ab, und setzen Sie "VendorLib" auf <Ihr Pfad>\fbembed.dll, oder verwenden Sie eine virtuelle Treiberdefinition.


DriverID=FB
Database=C:\fb\ADDEMO_FB21.FDB
User_Name=sysdba
CharacterSet=utf8

Siehe auch

Beispiele