Connexion à Sybase SQL Anywhere (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

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

Cette rubrique décrit comment établir la connexion à Sybase SQL Anywhere.

Versions prises en charge

Le pilote natif FireDAC prend en charge Sybase SQL Anywhere version 5 et ultérieure.

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 Mac OS X

FireDAC requiert :

  • la bibliothèque de gestionnaires de pilotes ODBC x86 UnixODBC (libodbc.dylib),
  • le pilote ODBC x86 SQL Anywhere (libdbodbcNN.so).

Le logiciel client SQL Anywhere pour Mac OS X peut être téléchargé ici. Après l'installation :

  • ajoutez les paramètres suivants à /usr/local/etc/odbcinst.ini :
[SQL Anywhere]
Description=SQL Anywhere v 12
Driver=/Applications/SQLAnywhere12/System/lib32/libdbodbc12.dylib
Setup=/Applications/SQLAnywhere12/System/lib32/libdbodbc12.dylib
UsageCount=1
  • retirez le lien libodbcinst.dylib 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

Liaison du pilote

Pour lier le pilote :

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 :

  • Yes -- une connexion intégrée est tentée ;
  • No -- la connexion au SGBD est utilisée. C'est la valeur par défaut.
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 -- active la compression pour une connexion.
  • No -- désactive la compression. C'est la valeur par défaut.
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 ) }
  • tls(tls_type=rsa;fips=n;trusted_certificates=rsaserver.crt)
  • simple
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

Voir aussi