Herstellen einer Verbindung zu ODBC-Datenquellen (FireDAC)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankkonnektivität (FireDAC)

In diesem Thema wird beschrieben, wie eine Verbindung zu ODBC-Datenquellen hergestellt wird.

Unterstützte Versionen

Der FireDAC-ODBC-Brückentreiber unterstützt die ODBC-Treiber Level 2 und 3.

Client-Software

Windows-Client-Software

Für FireDAC muss der x86- oder x64-ODBC-Treiber gemäß der ODBC-Spezifikation installiert sein. Informationen dazu finden Sie in der folgenden ODBC-Dokumentation:

Hinweis: Einige ODBC-Treiber (wie Oracle ODBC Treiber v 11) enthalten einen Fehler, der beim Datenabruf zu einer Zugriffsverletzung führt. Setzen Sie FetchOptions.RowsetSize auf 1, um diesen Fehler zu vermeiden.

Linux und macOS-Client-Software

FireDAC benötigt die Installation von UnixODBC und aller erforderlichen ODBC-Treiber.

Hinweis: Einige ODBC-Treiber für Linux, wie z. B. der von Teradata, enthalten den DataDirect-Treibermanager, den Sie für Unicode-Codierung konfigurieren (EN) müssen.

Treibereinbindung

So binden Sie den Treiber ein:

Verbindungsdefinitionsparameter

Es gibt zwei grundlegende Möglichkeiten, eine Verbindung zu einer ODBC-Datenquelle herzustellen:

  • Konfigurieren des DSN mit dem ODBC-Datenquellen-Administrator und Festlegen des DSN-Namens im Parameter DataSource
  • Geben Sie im FireDAC-Verbindungseditor (Einzelheiten finden Sie unter Definieren von Verbindungen (FireDAC)) den ODBCDriver-Parameterwert an, und klicken Sie dann auf die Schaltfläche Experte. Befolgen Sie die Expertenanweisungen.

Hinweis: Die Parameter DataSource und ODBCDriver schließen sich gegenseitig aus. Jeder ODBC-Treiber verfügt über einen eigenen Satz von Verbindungsparametern. Sie können als ODBCAdvanced-Parameterwert angegeben werden.


DriverID=ODBC

Parameter Beschreibung Beispielwert
ODBCDriver Der Name des ODBC-Treibers, der für die Verbindung verwendet werden soll. Wenn angegeben, müssen andere Verbindungsparameter im Parameter ODBCAdvanced festgelegt werden. SQL SERVER
ODBCAdvanced Ermöglicht die Angabe der Namens-/Wertepaare des ODBC-Verbindungsparameters. Sie müssen durch ";" getrennt werden.
ODBCVersion Legt die Version des ODBC-Treiber-Managers fest. Mögliche Werte: 3.8 oder 3.0 (Vorgabewert). 3.8
DataSource Der Name des vorhandenen DSN, der für die Verbindung verwendet werden soll. MySAPDB
LoginTimeout Steuert die Dauer in Sekunden bis zur Zeitüberschreitung einer Anwendung beim Versuch, eine Verbindung herzustellen (0 gibt eine unendliche Wartezeit an). 30
NumericFormat Steuert den internen Zahlenbindungsmodus. "Binary" ist der effektivste Modus. Allerdings unterstützen einige ODBC-Treiber den Binärmodus nicht korrekt. Stellen Sie in diesen Fällen sicher, dass dieser Parameter auf "String" gesetzt ist (dies ist der Vorgabewert). String
MetaDefCatalog Gibt den Standardkatalog für die Anwendung an. Im Entwurfszeitcode wird der Katalogname im Objektnamen weggelassen, wenn er MetaDefCatalog entspricht. Northwind
MetaDefSchema Gibt das Standardschema für die Anwendung an. Im Entwurfszeitcode wird der Schemaname im Objektnamen weggelassen, wenn er MetaDefSchema entspricht. dbo

Setzen Sie für eine ODBC MSSQL-Datenbank den FDConnection-Parameterwert von ODBCAdvanced auf MARS_Connection=YES. Ansonsten tritt beim Aufruf der Methode Open von FDTable der folgende Fehler auf:

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 10.0]Connection is busy with results for another command.

Anwendungsfälle

  • Herstellen einer Verbindung zu PostgreSQL:


DriverID=ODBC
User_Name=postgres
Password=marlboro
ODBCDriver=PostgreSQL ANSI
ODBCAdvanced=SERVER=localhost;PORT=5432;DATABASE=addemo
  • Herstellen einer Verbindung zu Sybase Adaptive Server Enterprise:


DriverID=ODBC
ODBCDriver=Adaptive Server Enterprise
ODBCAdvanced=server=da;port=5000;quotedidentifier=1
Database=addemo
User_Name=sa
MetaDefCatalog=addemo
MetaDefSchema=dbo
  • Herstellen einer Verbindung zu Informix Dynamic Server:


DriverID=ODBC
ODBCDriver=IBM INFORMIX ODBC DRIVER
User_Name=informix
Password=informix2
Database=sysuser
ODBCAdvanced=HOST=DA;SRVR=ol_svr_custom;SERV=svc_custom;PRO=olsoctcp;CLOC=en_US.CP1252;DLOC=en_US.819

Siehe auch