Herstellen einer Verbindung zu Advantage Database Server (FireDAC)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankkonnektivität (FireDAC)

In diesem Thema wird beschrieben, wie eine Verbindung zu Advantage Database Server hergestellt wird.

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:

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:

  • ADS_REMOTE_SERVER = 2
  • ADS_LOCAL_SERVER = 1
  • ADS_AIS_SERVER = 4

Anstelle der Zahlen können Sie auch die folgenden Schlüsselwörter verwenden:

  • Remote
  • Local
  • Internet

Servertypen können mit "|" verkettet werden. Der Standardwert ist von den Werten für "Server" und "Database" abhängig:

  • Verwenden Sie "Local", wenn diese Werte einen lokalen Pfad mit einem Laufwerksbuchstaben angeben.
  • Verwenden Sie "Remote" und "Internet", wenn es sich um einen Remote-Pfad handelt.
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:

  • UDP
  • IPX
  • TCPIP (Vorgabewert)
  • TLS
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
  • Always
  • Never
Internet
TableType

Legt den Typ der zu verwendenden Datenbankdateien fest:

  • ADT – Advantage-eigene ADT/ADI/ADM-Dateien
  • VFP – Mit FoxPro kompatible DBF/CDX/FPT-Dateien
  • CDX
  • NTX

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. Festlegen des Passworts für jede verschlüsselte Tabelle.
    • In diesem Fall ist das Format:
      TablePassword=<table 1>=<password 1>[;... <table N>=<password N>]
    • Die hier verwendeten Tabellennamen müssen mit denen in den SQL-Anweisungen und TFDTable.TableName übereinstimmen. Zum Beispiel:
      • Wenn TFDTable.TableName "contacts.adt" ist, dann TablePassword=contacts.adt=pwd.
      • Wenn TFDTable.TableName "CONTACTS" ist, dann TablePassword=CONTACTS=pwd.
  2. Festlegen eines einzelnen Passworts für alle Tabellen.
    • In diesem Fall ist das Format:
      TablePassword=<password>
    • Mit diesem Format wird das Passwort auf alle Tabellen im aktuellen Katalog angewandt.
1) EMPLOYEES=pwd1;CUSTOMERS=pwd2

2) pwd

Locking

Legt den beim Öffnen von DBF-Tabellen zu verwendenden Sperrmodus fest. Gültige Werte sind:

  • Proprietary – Der interne Hochleistungssperrmodus von Advantage wird verwendet.
  • Compatible – DBF-Tabellen können im Schreibmodus mit Nicht-Advantage-Datenbankanwendungen verwendet werden.
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.

Siehe auch