Configurer SAS/ACCESS Interface to SQL Server
Cet article montre comment configurer le module SAS/ACCESS interface to SQL Server sur un environnement Linux. Les chapitres sont les suivants :
Voici les étapes à suivre pour configurer le module. Dans cet exemple je vais au plus simple. Des adaptations peuvent être nécessaire en fonction des spécificités de votre environnement.
Puis testez la connexion avec la commande ci-dessous :
isql SQLServerWire UserSQL monpass -v
Si votre fichier odbc.ini est mal défini, vous pouvez obtenir l'erreur :
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
Dans ce cas :
Dans ce cas :
Vous constatez l'anomalie suivante :
Le fichier libS0icu27.so se trouve dans AccessClients/9.4/SQLServer/lib/ Il faut donc vérifier la présence de AccessClients/9.4/SQLServer/lib/ la variable $LD_LIBRARY_PATH
Note : Le moteur est SQLSVR et non SQLSRV. Il s'agit d'une erreur courante. ( ERROR: The SQLSRV engine cannot be found )
- Modification du fichier sasenv_local pour positionner les variables d’environnement,
- Modification du fichier odbc.ini,
- Tester la connexion en dehors de SAS ( avec isql ),
- Tester la connexion dans une session SAS,
- Quelques erreurs courantes,
- Vérifier les variables d’environnement dans SAS,
- Quelques Usage Note

Modification du fichier sasenv_local pour positionner les variables d'environnement
Ajoutez les variables suivante dans le fichier : export ODBCHOME=/opt/sas/install/AccessClients/9.4/SQLServer/ export ODBCINST=$ODBCHOME/odbcinst.ini export ODBCINI=$ODBCHOME/odbc.ini Il faut également enrichir le LD_LIBRARY_PATH : export LD_LIBRARY_PATH=$ODBCHOME:/opt/sas/install/AccessClients/9.4/SQLServer/lib/:$LD_LIBRARY_PATH Attention : Il est important de bien concaténer la variable avec $LD_LIBRARY_PATHModification du fichier odbc.ini
Modifier le fichier comme ci-dessous : [ODBC Data Sources] SQLServerWire=SAS Institute, Inc 7.1 SQL Server Wire Protocol [ODBC] IANAAppCodePage=4 InstallDir=/opt/sas/install/AccessClients/9.4/SQLServer/ Trace=0 TraceFile=odbctrace.out TraceDll=/opt/sas/install/AccessClients/9.4/SQLServer/lib/S0trc27.so [SQLServerWire] Driver=/opt/sas/install/AccessClients/9.4/SQLServer/lib/S0sqls27.so AnsiNPW=1 AuthenticationMethod=1 Database=sas EnableBulkLoad=0 EnableScrollableCursors=3 EnableQuotedIdentifiers=1 EncryptionMethod=0 FetchTSWTZasTimestamp=1 FetchTWFSasTime=0 GSSClient=native HostName=votre_serveur_sql_server LoginTimeout=15 LogonID= Password= PortNumber=1433 QueryTimeout=0Tester la connexion en dehors de SAS ( avec isql )
Avant de tester la connexion dans SAS, je vous encourage à tester la connexion avec isql afin vous assurer que les variables d'environnement sont bien définis et votre fichier odbc.ini correctement renseigné. Vérifiez la présence des variables d'environnement dans votre session. L'idéal est de sourcer le fichier sasenv_local de SAS afin de simuler le fonctionnement dans SAS. (install/SASFoundation/9.4/bin/sasenv_local) env | grep ODBC

- Vérifiez la présence du fichier odbc.ini et que son path correspond à la variable d'environnement $ODBCINI
- Vérifiez bien la présence de votre DSN dans le fichier

- Vérifiez les droits du fichiers.
- Vérifier les librairies dynamiques :


Tester la connexion dans une session SAS
Pour tester et valider la connexion dans une session SAS, exécutez le code SAS suivant : libname test sqlsvr dsn="SQLServerWire" user="UserSQL " password="monpass"; Ce qui donne (si tout va bien) :