Herstellen einer Verbindung zu InterBase (FireDAC)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankkonnektivität (FireDAC)

In diesem Thema wird beschrieben, wie eine Verbindung zu Embarcadero InterBase hergestellt wird.

Unterstützte Versionen

Der native FireDAC-Treiber unterstützt die Embarcadero-Editionen von InterBase Server, Desktop, Developer, ToGo (EN) und IBLite Version 6 und höher.

Verwenden Sie den FireDAC-Firebird-Treiber, um eine Verbindung zu Firebird oder dem Jaffil-Server herzustellen.

Client-Software

Windows-Client-Software

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

  • InterBase Server:
    • Win32: Die Bibliothek GDS32.DLL für die Verbindung zu InterBase Server, Desktop oder Developer von x86-Anwendungen aus.
    • Win64: Die Bibliothek IBCLIENT64.DLL für die Verbindung zu InterBase Server, Desktop oder Developer von x64-Anwendungen aus.
  • InterBase ToGo:
    • Win32: Die Bibliothek IBTOGO.DLL für die Arbeit mit Datenbanken mit eingebettetem InterBase ToGo von x86-Anwendungen aus.
    • Win64: Die Bibliothek IBTOGO64.DLL für die Arbeit mit Datenbanken mit eingebettetem InterBase ToGo von x64-Anwendungen aus.

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.
  • In einen beliebigen anderen Ordner und in der Datei FDDrivers.ini Folgendes angeben:
[IB]
VendorLib=<folder>\gds32.dll

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


[FireDAC][Phys][IB]-314. Cannot load vendor library [gds32.dll]. The specified module could not be found.
Check [gds32.dll], which is located in one of the PATH directories or in the application EXE directory.

macOS Client-Software

FireDAC benötigt:

  • Die x86-Client-Bibliothek libgds.dylib, um eine Verbindung zum InterBase-Server herzustellen. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase-Client\OSX32.
  • Die eingebettete InterBase-x86-Datei libibtogo.dylib. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase ToGo\OSX32.

iOS-Client-Software

FireDAC benötigt:

  • Für den iOS-Simulator - die eingebettete InterBase-x86-Datei libibtogo.dylib. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase ToGo\iOSSimulator.
  • Für 32-Bit-iOS-Geräte - die eingebettete InterBase-Datei libibtogo.a als statische ARM-Bibliothek. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase ToGo\iOSDevice32.
  • Für 64-Bit-iOS-Geräte - die eingebettete InterBase-Datei libibtogo.a als statische ARM-Bibliothek. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase ToGo\iOSDevice64.

Beachten Sie, dass der Einbindungsmodus nicht ausgewählt werden kann.

Android-Client-Software

FireDAC benötigt:

  • Die eingebettete InterBase-Datei libibtogo.a als statische ARM-Bibliothek. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase ToGo\Android.

Beachten Sie, dass der Einbindungsmodus nicht ausgewählt werden kann.

Linux-Client-Software

FireDAC benötigt:

  • Die x64-Client-Bibliothek libgds.so, um eine Verbindung zum InterBase-Server herzustellen. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase-Client\Linux.
  • Die eingebettete InterBase-x64-Datei libibtogo.so. Verwenden Sie in RAD Studio Projekt > Bereitstellung > Weitere Dateien hinzufügen > InterBase ToGo\Linux.

Treibereinbindung

So binden Sie den Treiber ein:

Verbindungsdefinitionsparameter

Für eine Verbindung mit InterBase 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=IB oder DriverID=IBLite

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
Hinweis: Nur für DriverID = IB.

Steuert den Authentifizierungsmodus:

  • Yes – Windows-Authentifizierung verwenden.
  • No – DBMS-Authentifizierung verwenden. Das ist der Vorgabewert.
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
Hinweis: Nur für DriverID = IB.

Der TCP/IP-Port, über den der InterBase-Server empfängt. Standardmäßig entspricht dieser Port dem in den Diensten definierten Port von gds_db. Normalerweise ist dies Port 3050. Wenn gds_db nicht definiert ist, dann sollten Sie den Parameter Port auf den erforderlichen Wert setzen.

3051
Protocol
Hinweis: Nur für DriverID = IB.

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 Novell SPX-Protokoll.
  • TCPIP – Herstellen einer Verbindung über das TCP/IP-Protokoll.

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

TCPIP
Server
Hinweis: Nur für DriverID = IB.

Legt die Adresse des Servers, zu dem eine Verbindung hergestellt werden soll, fest. Der "Server"-Parameterwert wird nur verwendet, wenn der Parameter "Protocol" angegeben ist.

127.0.0.1
InstanceName
Hinweis: Nur für DriverID = IB.

Der Name der InterBase-Instanz. Wird ab InterBase 2007 unterstützt.

srv2
SQLDialect
Hinweis: Nur für DriverID = IB.

Der für die Verbindung zu verwendende SQL-Dialekt. 3 ist der Vorgabewert.

1
RoleName
Hinweis: Nur für DriverID = IB.

Der Standardrollenname.

Admin
OpenMode

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

  • Open -- Öffnen einer vorhandenen Datenbankdatei, die im Parameter Database angegeben ist, unmittelbar nach der Verbindung mit dem Server. 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". 4096 ist der Vorgabewert. 8192
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-Handbüchern.

Anwendungsfälle

Verwenden einer sicheren Verbindung

Übergeben Sie für die Verwendung der TLS/SSL-Verschlüsselung das Schlüssel/Wertepaar ssl=true für den Wert des Parameters Database wie folgt:


DriverID=IB
Database=my.interbasehost.net/3065?ssl=true?serverPublicFile=C:\PublicCertFileOnClient\CertFile.pem??:C:/DB/TEST.IB
User_Name=sysdba
Password=masterkey
CharacterSet=UTF8
ExtendedMetadata=True

Weitere Einzelheiten finden Sie in der Dokumentation zu InterBase (EN) in Kapitel 5 ab Seite 5.

Weitere Anwendungsfälle

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


DriverID=IB
Database=C:\ib\ADDEMO_IBXE3.gdb
Protocol=TCPIP
Server=IBSrv
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=IB
Database=IBSrv:C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=utf8
  • Herstellen einer Verbindung zu einer lokalen Datenbank:


DriverID=IB
Database=C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=win1251
  • Herstellen einer Verbindung zu einer InterBase ToGo-Datenbank:

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


DriverID=IB
Database=C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=utf8
  • Herstellen einer Verbindung zu einer Datenbankdatei im Ordner "Documents" auf einem iOS-Gerät oder -Simulator:


DriverID=IB
User_Name=sysdba
Password=masterkey
Database=$(DOC)/ADDEMO.GDB
SQLDialect=3
CharacterSet=UTF8
ExtendedMetadata=True
  • Herstellen einer Verbindung zu einer verschlüsselten Datenbankdatei im externen Speicher des Android-Geräts:


DriverID=IB
User_Name=sysdba
Password=masterkey
Database=$(DOC)/ADDEMO.GDB
SQLDialect=3
CharacterSet=UTF8
ExtendedMetadata=True
SEPassword=12345
  • Herstellen einer Verbindung zu einer IBLite-Datenbank:


DriverID=IBLite
Database=C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=utf8

Siehe auch

Beispiele