Connexion à Sybase SQL Anywhere (FireDAC)
Remonter à Connectivité des bases de données (FireDAC)
Cette rubrique décrit comment établir la connexion à Sybase SQL Anywhere.
Sommaire
Versions prises en charge
Le pilote natif FireDAC prend en charge Sybase SQL Anywhere version 5 et ultérieure.
Logiciel client
Logiciel client Windows
FireDAC requiert l'installation de l'un des pilotes ODBC x86 ou x64 Sybase SQL Anywhere suivants sur la station de travail :
- "Pilote ODBC Adaptive Server Anywhere" pour se connecter à la v 5-7.
- "Pilote ODBC SQL Anywhere N", où N représente le numéro de version majeur du SGBD (par exemple, 8, 9, 10).
Le pilote préféré est "SQL Anywhere N". Le pilote ODBC fait partie du SDK Sybase SQL Anywhere. Vous pouvez le télécharger ici.
Si le pilote ODBC SQL Anywhere n'a pas été installé correctement, une exception est déclenchée quand vous essayez de vous connecter :
[FireDAC][Phys][ODBC][Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.
Si votre application utilise des composants de service SQL Anywhere tels que TFDASABackup, vous devez installer les DLL suivantes sur les stations de travail :
- DBTOOL<N>.DLL
- DBLIB<N>.DLL
N représente la version de votre logiciel SQL Anywhere.
Logiciel client macOS
FireDAC requiert :
- la bibliothèque de gestionnaires de pilotes ODBC x86 UnixODBC (libodbc.dylib).
- le pilote ODBC x86 SQL Anywhere (libdbodbcNN.dylib).
Le logiciel client SQL Anywhere pour macOS peut être téléchargé ici. Après l'installation :
- ajoutez les paramètres suivants à /usr/local/etc/odbcinst.ini :
[SQL Anywhere 16]
Description=SQL Anywhere v 16
Driver=/Applications/SQLAnywhere12/System/lib32/libdbodbc16_r.dylib
Setup=/Applications/SQLAnywhere12/System/lib32/libdbodbc16_r.dylib
UsageCount=1
- retirez le lien libodbcinst.dylib et libodbcinst.dylib.1 du dossier /Applications/SQLAnywhere12/System/lib32, car il entre en conflit avec UnixODBC libodbcinst.dylib. Cette action est recommandée par l'équipe de développement Sybase.
- exécutez /Applications/SQLAnywhere12/System/bin32/sa_config.sh
Logiciel client Linux
FireDAC requiert la bibliothèque du gestionnaire de pilotes ODBC 64 bits unixODBC et le pilote ODBC 64 bits SQL Anywhere. Pour installer le pilote ODBC SQL Anywhere sur Linux, exécutez les commandes suivantes :
wget http://d5d4ifzqzkhwt.cloudfront.net/sqla16client/sqla16_client_linux_x86x64.tar.gz
tar -xavf sqla16_client_linux_x86x64.tar.gz
cd client1600
sudo ./setup -nogui -I_accept_the_license_agreement -silent
sudo rm /opt/sqlanywhere16/lib64/libodbcinst.so
sudo rm /opt/sqlanywhere16/lib64/libodbcinst.so.1
/opt/sqlanywhere16/bin64/sa_config.sh
echo [SQL Anywhere 16] > asa.driver.template
echo Description=SQL Anywhere ODBC Driver v 16 >> asa.driver.template
echo Driver=/opt/sqlanywhere16/lib64/libdbodbc16_r.so >> asa.driver.template
echo Setup=/opt/sqlanywhere16/lib64/libdbodbc16_r.so >> asa.driver.template
sudo odbcinst -i -d -f asa.driver.template
Liaison du pilote
Pour lier le pilote :
- déposez un composant TFDPhysASADriverLink à partir de la page "Liens FireDAC" de la palette des composants,
- incluez l'unité FireDAC.Phys.ASA dans la clause uses.
Paramètres de définition de la connexion
Pour établir la connexion au SGBD SQL Anywhere, la plupart des applications exigent de spécifier les paramètres DriverID, Server, Database, OSAuthent, User_Name, et Password. Pour plus de détails, voir Définition d'une connexion (FireDAC).
DriverID=ASA
Paramètre | Description | Valeur exemple |
---|---|---|
Server | Spécifie le nom d'un serveur de bases de données en cours d'exécution auquel vous voulez vous connecter. | ASASrv |
Database | Identifie une base de données chargée à laquelle une connexion doit être établie quand vous vous connectez à une base de données déjà en cours d'exécution. | |
OSAuthent |
Contrôle le mode d'authentification :
|
No |
User_Name | Spécifie l'ID utilisateur utilisé pour se connecter à la base de données si OSAuthent=No. | dba |
Password | Spécifie le mot de passe utilisateur utilisé pour se connecter à la base de données si OSAuthent=No.
Notez que les mots de passe comportant '{' et '}' ne sont pas pris en charge. |
sql |
DatabaseFile | Indique le fichier de base de données que vous voulez charger et auquel vous voulez vous connecter au démarrage d'une base de données qui n'est pas encore en cours d'exécution. Pour vous connecter à une base de données en cours d'exécution, utilisez le paramètre Database. | |
Compress |
Contrôle la compression du trafic réseau :
|
Yes |
Encrypt | Crypte les paquets envoyés entre l'application client et le serveur en utilisant la sécurité de la couche de transport ou le cryptage simple. La syntaxe de la valeur est : { NONE | SIMPLE | TLS( TLS_TYPE=cipher; [ FIPS={ Y | N }; ] TRUSTED_CERTIFICATES=public-certificate ) } |
|
LoginTimeout | Contrôle la durée, en secondes, s'écoulant avant qu'une application dépasse le temps imparti pour établir une connexion (la valeur 0 indique une attente infinie). | 30 |
ApplicationName | Aide les administrateurs à identifier l'origine de connexions client particulières à partir d'un serveur de bases de données. La chaîne peut être récupérée à l'aide de l'instruction : SELECT CONNECTION_PROPERTY('AppInfo') | AllBooks |
ODBCAdvanced | Vous permet de spécifier la valeur des paramètres de connexion ODBC supplémentaires. La valeur par défaut est "CommLinks=ShMem,TCP". Attention, si CommLinks est spécifié, le serveur ne démarrera pas automatiquement. | AutoStart=Yes;CharSet=Windows-1251 |
MetaDefCatalog | Nom de la base de données par défaut. En mode conception, le code exclut le nom du catalogue du nom d'objet s'il est égal à MetaDefCatalog. | addemo |
MetaDefSchema | Nom du schéma par défaut. En mode conception, le code exclut le nom du schéma du nom d'objet s'il est égal à MetaDefSchema. | dba |
Exemples d'utilisation
Démarrage automatique du serveur local et ouverture du fichier de base de données "C:\sybase\addemo_asa10.db" :
DriverID=ASA ODBCAdvanced=AutoStart=Yes DatabaseFile=C:\sybase\addemo_asa10.db User_Name=dba Password=sql MetaDefSchema=dba
- Connexion à un serveur local par défaut
DriverID=ASA User_Name=dba Password=sql MetaDefSchema=dba
- Connexion à la base de données ADDemo, exécutée sur l'instance de serveur ASASrv :
DriverID=ASA Server=ASASrv Database=ADDemo User_Name=dba Password=sql MetaDefSchema=dba
- Connexion à la base de données ADDemo, exécutée sur l'instance de serveur ASASrv dans un autre réseau :
DriverID=ASA ODBCAdvanced=CommLinks=tcpip(host=227.12.66.1) Server=ASASrv Database=ADDemo User_Name=dba Password=sql MetaDefSchema=dba