Connexion à Advantage Database Server (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Connectivité des bases de données (FireDAC)

Cette rubrique explique comment établir une connexion à Advantage Database Server.

Versions prises en charge

Le pilote natif FireDAC supporte Advantage Database Server v 8.0 ou ultérieure.

Logiciel client

Logiciel client Windows

FireDAC requiert la bibliothèque client ACE32.DLL x86 ou ACE64.DLL x64 (API de Advantage Client Engine) pour établir la connexion au serveur Advantage ou à un serveur local. Dans l'idéal, sa version doit être équivalente à celle du serveur. Ensemble complet des fichiers client de la version 10.0 :

  • ace32.dll
  • adsloc32.dll
  • aicu32.dll
  • axcws32.dll
  • adscollate.adm
  • adscollate.adt
  • ansi.chr
  • extend.chr
  • icudt40l.dat
  • adslocal.cfg

Vous pouvez télécharger l'API de Advantage Client Engine ici. Le dossier d'installation inclut le dossier "Redistribute", qui contient tous les fichiers transmissibles requis. Vous pouvez placer les fichiers dans :

  • un dossier inclus dans votre variable d'environnement PATH.
  • le dossier EXE de votre application.
  • tout autre dossier, en spécifiant dans FDDrivers.ini :
[ADS]
VendorLib=<folder>\ace32.dll

Si la bibliothèque client ADS n'a pas été installée correctement, une exception est déclenchée lorsque vous tentez d'établir une connexion :


[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

Logiciel client Linux

Téléchargez le moteur client Advantage pour Linux (EN) et exécutez les commandes suivantes dans le dossier de téléchargement :

tar -xavf aceapi-*.tar.*
cd aceapi-*
sudo ./setup.pl

Liaison du pilote

Pour lier le pilote Advantage :

Paramètres de définition de la connexion

Conseil : Pour savoir comment accéder aux paramètres de définition de connexion, voir Définition d'une connexion (FireDAC).

DriverID=ADS

Paramètre Description Valeur exemple
ServerTypes

Somme de valeurs indiquant les types de serveurs Advantage vers lesquels les tentatives de connexion seront effectuées. Les valeurs des serveurs sont :

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

A la place des numéros, vous pouvez utiliser les mots clés suivants :

  • Remote
  • Local
  • Internet

Vous pouvez concaténer plusieurs types avec '|'. La valeur par défaut dépend des valeurs de Server et Database :

  • Si elles spécifient un chemin local avec la lettre du lecteur, utilisez "Local".
  • Si elles spécifient un chemin distant, utilisez "Remote" et "Internet".
Par exemple, pour autoriser le pilote à utiliser le serveur distant ou local, mais pas le serveur Advantage Internet Server, utilisez : ServerTypes=3 (1+2).
Protocol

Spécifie le protocole de communication utilisé pour la connexion à Advantage Database Server :

  • UDP
  • IPX
  • TCPIP (valeur par défaut)
  • TLS
TCPIP
Server Adresse du serveur. \\ADS
Port Port du serveur. 6262
Database Chemin d'accès complet à l'ordinateur où résident les fichiers de données et emplacement par défaut des fichiers de données. Ce chemin d'accès complet doit contenir la lettre d'un lecteur ou utiliser la convention UNC. Database peut inclure les valeurs de Server et Port. Pour les types de serveurs distants, le chemin doit utiliser la convention UNC ou faire référence au partage réseau existant.

Pour les "connexions libres", le chemin doit être un nom de chemin valide vers l'emplacement des fichiers de données (par exemple, x:\data). Ce chemin est utilisé pour sélectionner automatiquement toutes les tables dans le répertoire spécifié. Pour les "connexions de bases de données", le chemin doit être un nom de chemin valide incluant le nom de fichier du dictionnaire de données Advantage (par exemple, x:\database\mydictionary.add). Un chemin d'accès peut inclure des variables relatives au chemin.

c:\ads\data

\\ADS:6262\DB

Alias Spécifie l'alias à utiliser lors de la connexion au serveur de base de données. Le chemin d'accès au fichier associé à l'alias spécifié est utilisé comme répertoire de la base de données. Le type de table associé à l'alias est défini comme le type de table par défaut à utiliser avec cette connexion. Pour une description complète de Alias, voir Database Aliases and the ads.ini File (EN).
CharacterSet Langage de classement facultatif utilisé lors de l'ouverture des tables. ANSI
Compress

Spécifie l'option de compression des communications. Les valeurs valides sont :

  • Internet
  • Always
  • Never
Internet
TableType

Définit le type de fichiers de base de données à utiliser :

  • ADT -- Fichiers ADT/ADI/ADM propriétaires Advantage
  • VFP -- Fichiers DBF/CDX/FPT compatibles FoxPro
  • CDX
  • NTX

Ce paramètre est ignoré pour les connexions aux bases de données.

ADT
TablePassword Spécifie le mot de passe de cryptage de toutes les tables dans la connexion. S'applique aux connexions libres uniquement.

Vous devez spécifier le mot de passe dans deux formats différents :

  1. En spécifiant le mot de passe pour chaque table cryptée.
    • Dans ce cas, le format est :
      TablePassword=<table 1>=<mot de passe 1>[;... <table N>=<mot de passe N>]
    • Notez que ces noms de table doivent correspondre aux noms de table dans les commandes SQL et dans TFDTable.TableName. Par exemple :
      • Si TFDTable.TableName est "contacts.adt", alors TablePassword=contacts.adt=pwd ;
      • Si TFDTable.TableName est "CONTACTS", alors TablePassword=CONTACTS=pwd.
  2. En spécifiant un mot de passe unique pour toutes les tables.
    • Dans ce cas, le format est :
      TablePassword=<pmot de passe>
    • En utilisant ce format, le mot de passe s'applique à toutes les tables du catalogue en cours.
1) EMPLOYEES=pwd1;CUSTOMERS=pwd2

2) pwd

Locking

Spécifie le mode de verrouillage à utiliser lors de l'ouverture des tables DBF. Les valeurs valides sont :

  • Proprietary -- Le mode de verrouillage interne haute performance de Advantage est utilisé.
  • Compatible -- Les tables DBF peuvent être partagées en mode accessible en écriture avec les applications de bases de données autres que Advantage.
Proprietary
ADSAdvanced Vous permet de spécifier toute autre valeur de paramètre de connexion AdsConnect101 (EN) de l'API de ACE. EncryptDictionary=True;DDPassword=qwe

Exemples d'utilisation

Ouvrir une base de données ADS locale en mode "connexion libre" :


DriverID=ADS
Database=c:\ads\data

Ouvrir une base de données ADS locale en mode "connexion libre" avec des tables Visual FoxPro :


DriverID=ADS
Database=c:\ads\data
TableType=VFP

Ouvrir une connexion distante basée sur un dictionnaire de données :


DriverID=ADS
ServerTypes=Remote
Protocol=TCPIP
Database=\\DA\ADS_DB\addemo.add
User_Name=adssys
Password=a

Ouvrir une base de données ADS locale en mode "connexion libre" en utilisant un alias :


DriverID=ADS
Alias=MyConn

Et le contenu de ads.ini :


[Databases]
MyConn=c:\data;N

Problèmes connus

  • Le verrouillage pessimiste n'est plus pris en charge en raison de limitations Advantage. Concrètement, il y a un problème d'incompatibilité avec les verrous navigationnels et SQL.

Dépannage

Si vous obtenez l'erreur "Error 6060: Advantage Database Server not available on specified server", tentez d'ajouter le numéro de port (6262 par défaut) à la valeur de paramètre Server. Par exemple : Server=example.com:6262.

Voir aussi