Herstellen einer Verbindung zu ODBC-Datenquellen (FireDAC)
Nach oben zu Datenbankkonnektivität (FireDAC)
In diesem Thema wird beschrieben, wie eine Verbindung zu ODBC-Datenquellen hergestellt wird.
Inhaltsverzeichnis
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:
- Ziehen Sie aus der Seite "FireDAC Links" der Komponentenpalette eine TFDPhysODBCDriverLink-Komponente auf das Formular.
- Oder nehmen Sie die Unit FireDAC.Phys.ODBC in die uses-Klausel auf.
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:
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