Herstellen einer Verbindung zu IBM DB2 Server (FireDAC)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankkonnektivität (FireDAC)

In diesem Thema wird beschrieben, wie eine Verbindung zu IBM DB2 Server hergestellt wird.

Unterstützte Versionen

Der native FireDAC-Treiber unterstützt die Editionen IBM DB2 Enterprise, Workgroup und Express oder AS/400 Version 8 und höher. Version 8.2 wird als Minimalversion empfohlen. Sie können auch mit anderen IBM-Datenbankprodukten mithilfe von FireDAC ODBC- oder DBX-Brückentreibern arbeiten.

Client-Software

Windows-Client-Software

Für FireDAC müssen die x86- oder x64-ODBC-Treiber "IBM DATA SERVER DRIVER for ODBC", "IBM DB2 ODBC DRIVER" oder "IBM DB2 DRIVER FOR ODBC" auf dem Arbeitsplatz-Computer installiert sein. Sie können diese Treiber von den folgenden Websites herunterladen:

Führen Sie nach dem Herunterladen und Entpacken "<client>\bin\db2oreg1 -i" aus, um den ODBC-Treiber zu installieren. Laden Sie darüber hinaus auch die Korrekturpakete (Fix Packs) herunter, und installieren Sie sie.

Wenn der DB2 ODBC-Treiber nicht ordnungsgemäß installiert wurde, wird beim Verbindungsversuch eine Exception ausgelöst:


[FireDAC][Phys][ODBC][Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

DB2 AS400

FireDAC benötigt den "iSERIES ACCESS ODBC DRIVER"-Treiber, um mit DB2 AS400 eine Verbindung herstellen zu können.

Linux-Client-Software

FireDAC benötigt die unixODBC 64-Bit ODBC-Treiberverwaltungsbibliothek und den IBM DB2 64-Bit ODBC-Treiber.

Um den IBM DB2 64-Bit ODBC-Treiber unter Linux zu installieren, laden Sie ihn herunter und führen Sie die folgenden Befehle aus:

tar -xavf ibm_data_server_driver_for_odbc_cli_linuxx64_v*.tar.*
cd odbc_cli
sudo mkdir -p /opt/ibm/clidriver
sudo cp -r clidriver/* /opt/ibm/clidriver
echo [IBM DB2 ODBC DRIVER] > db2.driver.template
echo Description=IBM DB2 ODBC Driver >> db2.driver.template
echo Driver=/opt/ibm/clidriver/lib/libdb2o.so >> db2.driver.template
echo DontDLClose=1 >> db2.driver.template
echo Threading=1 >> db2.driver.template
odbcinst -i -d -f db2.driver.template

Treibereinbindung

So binden Sie den Treiber ein:

Verbindungsdefinitionsparameter

Die DB2-Verbindungsattribute können auf zwei Arten festgelegt werden. Wenn für die DB2-Client-Software die DB2-Verbindungsaliase konfiguriert sind, sollte eine Anwendung den Parameter Alias verwenden. Wenn keine Aliase konfiguriert sind, sollten Sie die Parameter Protocol, Server, Port und Database verwenden. Geben Sie auch User_Name und Password an (Einzelheiten finden Sie unter Definieren von Verbindungen (FireDAC)).

DriverID=DB2

Parameter Beschreibung Beispielwert
Alias Verbindungsalias. MyDB2Srv
Server Host-Name, wenn Alias nicht angegeben ist. 127.0.0.1
Port Port-Wert, wenn Alias nicht angegeben ist. 5000
Database Datenbankname, wenn Alias nicht angegeben ist. ADDEMO
Protocol Protokollname, wenn Alias nicht angegeben ist. TCPIP
User_Name Der DB2-Benutzername. db2admin
Password Das DB-Benutzerpasswort. Passwörter, die '{' oder '}' enthalten, werden nicht unterstützt. master
LoginTimeout Steuert die Dauer in Sekunden bis zur Zeitüberschreitung einer Anwendung beim Versuch, eine Verbindung herzustellen (0 gibt eine unendliche Wartezeit an). 30
StringFormat

Definiert, wie String-Werte dargestellt werden sollen:

  • Choose -- als ftString / ftWideString / ftMemo / ftWideMemo, abhängig vom deklarierten Datentypnamen (Vorgabe).
  • Unicode -- immer als ftWideString oder ftWideMemo.
Unicode
ExtendedMetadata

Steuert die erweiterte Beschreibung von Abfrage-Ergebnismengen:

  • True -- FireDAC beschreibt eine Ergebnismenge, um alle möglichen Spaltenattribute zu ermitteln – ist schreibgeschützt, wird automatisch inkrementiert, ist spaltenbezogen usw. Durch Setzen dieser Option auf True wird das Öffnen von Datenmengen geringfügig verlangsamt.
  • False -- FireDAC verwendet die beschränkten Informationen über die Abfragespalten (Vorgabe).
True
ODBCAdvanced Ermöglicht die Angabe eines beliebigen weiteren ODBC-Verbindungsparameterwertes. Der Vorgabewert ist "IGNOREWARNINGS=1".
TxSupported Legt fest, ob die DB2-Datenbank SQL-Transaktionen unterstützt oder nicht.
  • Yes. Die DB2-Datenbank unterstützt Transaktionen. Dies ist der Vorgabewert.
  • No. Die DB2-Datenbank unterstützt keine Transaktionen.
    Hinweis: Setzen Sie diesen Parameter auf No, wenn die Methodenaufrufe StartTransaction, Commit oder Rollback zu Fehlern führen. Zum Beispiel:
    • Wenn eine Transaktion eine DB2-Datenbanktabelle enthält, die mit der NOT LOGGED INITIALLY-Option erstellt wurde.
    • Wenn die Translaktionsanmeldung einer AS400 DB2-Datenbank deaktiviert ist.
Yes
MetaDefSchema Standardschemaname. Im Entwurfszeitcode wird der Schemaname im Objektnamen weggelassen, wenn er MetaDefSchema entspricht. db2admin

Anwendungsfälle

  • Herstellen einer Verbindung zu DB2 mithilfe des vorhandenen Datenbankaliases:


DriverID=DB2
Alias=addemo
User_Name=db2admin
Password=mypwd
MetaDefSchema=db2admin
  • Herstellen einer Verbindung zu DB mithilfe der vollständigen Verbindungsinformationen:


DriverID=DB2
Server=127.0.0.1
Database=addemo
Port=50000
Protocol=TCPIP
User_Name=db2admin
Password=mypwd
MetaDefSchema=db2admin
  • Herstellen einer Verbindung zu DB2 AS400:
Um eine Verbindung mit DB2 AS400 herzustellen, folgen Sie den folgenden Schritten:
  1. Ziehen Sie eine TFDConnection- und eine TFDPhysDB2DriverLink-Komponente auf das TForm.
  2. Setzen Sie die TFDPhysDB2DriverLink.ODBCDriver-Eigenschaft auf 'iSeries Access ODBC Driver'.
  3. Klicken Sie doppelt auf TFDConnection und setzen Sie Driver ID auf DB2.
  4. Drücken Sie die Experten-Schaltfläche.
  5. Füllen Sie die Verbindungs-Parameter mit dem ODBC-Treiber-Dialog.
  6. Drücken Sie die OK-Schaltfläche, um Parameter zu speichern.

Siehe auch