Herstellen einer Verbindung zu Advantage Database Server (FireDAC)
Nach oben zu Datenbankkonnektivität (FireDAC)
In diesem Thema wird beschrieben, wie eine Verbindung zu Advantage Database Server hergestellt wird.
Inhaltsverzeichnis
Unterstützte Versionen
Der native FireDAC-Treiber unterstützt Advantage Database Server Version 8.0 oder höher.
Client-Software
Windows-Client-Software
Für FireDAC ist die x86-Client-Bibliothek ACE32.DLL oder die x64-Client-Bibliothek ACE64.DLL (Advantage Client Engine API) erforderlich, um eine Verbindung zum Advantage-Server oder eine lokale Verbindung herzustellen. Idealerweise sollte die Version mit der Serverversion übereinstimmen. Die Client-Dateien der Version 10.0:
- ace32.dll
- adsloc32.dll
- aicu32.dll
- axcws32.dll
- adscollate.adm
- adscollate.adt
- ansi.chr
- extend.chr
- icudt40l.dat
- adslocal.cfg
Sie können die Advantage Client Engine API von hier (EN) herunterladen. Der Installationsordner enthält den Ordner "Redistribute" mit allen erforderlichen weitergabefähigen Dateien. Sie können diese Dateien in einen der folgenden Ordner einfügen:
- Einen in der Umgebungsvariable PATH aufgeführten Ordner.
- In Ihren Anwendungs-EXE-Ordner.
- In einen beliebigen anderen Ordner und in der Datei FDDrivers.ini Folgendes angeben:
[ADS]
VendorLib=<folder>\ace32.dll
Wenn die ADS-Client-Bibliothek nicht ordnungsgemäß installiert wurde, wird beim Verbindungsversuch eine Exception ausgelöst:
[FireDAC][Phys][ADS]-314. Cannot load vendor library [ACE32.dll]. The specified module could not be found. Make sure it is located in one of the PATH directories or in the application EXE directory
Linux-Client-Software
Laden Sie Advantage Client Engine for Linux (EN) herunter und führen Sie die folgenden Befehle im Download-Ordner aus:
tar -xavf aceapi-*.tar.*
cd aceapi-*
sudo ./setup.pl
Treibereinbindung
So binden Sie den Advantage-Treiber ein:
- Ziehen Sie aus der Paletten-Seite "FireDAC Links" eine TFDPhysADSDriverLink-Komponente auf das Formular.
- Oder nehmen Sie die Unit FireDAC.Phys.ADS in die uses-Klausel auf.
Verbindungsdefinitionsparameter
Tipp: Weitere Informationen über den Zugriff auf die Verbindungsdefinitionsparameter finden Sie unter Definieren von Verbindungen (FireDAC).
DriverID=ADS
Parameter | Beschreibung | Beispielwert |
---|---|---|
ServerTypes |
Eine Reihe von Werten, die die Typen der Advantage-Server angeben, mit denen Verbindungen versucht werden können. Folgende Werte sind für die Server möglich:
Anstelle der Zahlen können Sie auch die folgenden Schlüsselwörter verwenden:
Servertypen können mit "|" verkettet werden. Der Standardwert ist von den Werten für "Server" und "Database" abhängig:
|
Um beispielsweise zuzulassen, dass der Treiber den Remote- oder lokalen Server, aber nicht den Advantage Internet Server verwendet, geben Sie Folgendes an: ServerTypes=3 (1+2). |
Protocol |
Gibt das Kommunikationsprotokoll an, mit dem eine Verbindung mit dem Advantage Database Server hergestellt wird:
|
TCPIP |
Server | Die Serveradresse. | \\ADS |
Port | Der Server-Port. | 6262 |
Database | Der vollqualifizierte Pfad zu dem Computer, auf dem sich die Datendateien befinden und der Standardspeicherort der Datendateien. Dieser vollqualifizierte Pfad muss einen Laufwerksbuchstaben enthalten oder UNC verwenden. Database kann Werte für "Server" und "Port" enthalten. Bei Remote-Servertypen muss im Pfad entweder UNC verwendet werden, oder er muss auf eine bestehende Netzwerkfreigabe verweisen.
Bei "freien Verbindungen" muss es sich um einen gültigen Pfadnamen handeln, der auf den Speicherort der Datendateien verweist (z. B. x:\data). Dieser Pfad wird verwendet, um alle Tabellen im angegebenen Verzeichnis automatisch auszuwählen. Bei "Datenbankverbindungen" muss es sich um einen gültigen Pfadnamen einschließlich des Advantage Data Dictionary-Dateinamens handeln (z. B. x:\database\mydictionary.add). Ein Pfad kann Pfadvariablen enthalten. |
c:\ads\data
\\ADS:6262\DB |
Alias | Gibt den beim Verbinden mit dem Datenbankserver verwendeten Alias an. Der dem angegebenen Alias zugeordnete Pfad wird als Datenbankverzeichnis verwendet. Der diesem Alias zugeordnete Tabellentyp wird als Standardtabellentyp festgelegt, der mit dieser Verbindung verwendet werden soll. Eine vollständige Beschreibung von Alias finden Sie unter Database Aliases and the ads.ini File (EN). | |
CharacterSet | Eine beim Öffnen von Tabellen verwendete optionale Sprache für die Sortierung. | ANSI |
Compress |
Gibt die Option für die Kommunikationskomprimierung an. Die folgenden Werte sind möglich:
|
Internet |
TableType |
Legt den Typ der zu verwendenden Datenbankdateien fest:
Diese Einstellung wird für Datenbankverbindungen ignoriert. |
ADT |
TablePassword | Legt das Verschlüsselungspasswort für alle Tabellen in der Verbindung fest. Nur für freie Verbindungen anwendbar.
Sie können das Passwort in zwei unterschiedlichen Formaten festlegen:
|
1) EMPLOYEES=pwd1;CUSTOMERS=pwd2
2) pwd |
Locking |
Legt den beim Öffnen von DBF-Tabellen zu verwendenden Sperrmodus fest. Gültige Werte sind:
|
Proprietary |
ADSAdvanced | Ermöglicht die Angabe eines beliebigen weiteren ACE-API-AdsConnect101 (EN)-Verbindungsparameterwertes. | EncryptDictionary=True;DDPassword=qwe |
Anwendungsfälle
Öffnen einer lokalen ADS-Datenbank im Modus "freie Verbindung":
DriverID=ADS Database=c:\ads\data
Öffnen einer lokalen ADS-Datenbank im Modus "freie Verbindung" mit Visual FoxPro-Tabellen:
DriverID=ADS Database=c:\ads\data TableType=VFP
Öffnen einer auf dem Remote-Daten-Dictionary basierten Verbindung:
DriverID=ADS ServerTypes=Remote Protocol=TCPIP Database=\\DA\ADS_DB\addemo.add User_Name=adssys Password=a
Öffnen einer lokalen ADS-Datenbank im Modus "freie Verbindung" mit einem Alias:
DriverID=ADS Alias=MyConn
Inhalt von ads.ini:
[Databases] MyConn=c:\data;N
Bekannte Probleme
- Das pessimistische Sperren (EN) wird aufgrund der Advantage-Einschränkungen noch nicht unterstützt. Es gibt, genauer gesagt, ein Inkompabilitäts-Problem mit den Navigations- und SQL-Sperren.
Fehlerbehebung
Wenn Sie "Error 6060: Advantage Database Server not available on specified server" erhalten, versuchen Sie dem Server
-Parameter-Wert eine Port-Nummer (standardmäßig 6262) hinzuzufügen. Zum Beispiel: Server=example.com:6262
.