Configuration d'une source de données ODBC pour se connecter directement à un serveur SPDS

Cet article explique comment accéder à des tables SPDS se trouvant sur un serveur distant depuis un poste client via ODBC.

ODBC (Open Data Base Connectivity) est un service Windows créé spécialement pour l'échange de données.

SAS® Universal ODBC Driver : ouvre des données SAS pour les applications ODBC, sans avoir accès au reste du logiciel SAS.

Nous allons maintenant voir les étapes à suivre pour configurer une source de données ODBC pour se connecter directement à un serveur SPDS.

Avant toute chose, il est nécessaire que le serveur SPDS soit démarré et en écoute.

Dans cet article nous aurons les paramètres de connexion au serveur SPDS suivants :
Server: sasserver1 (adresse IP ou nom complet du serveur)
NSPORT: 5180 (le numéro de port du SPDS NAME SERVER)

1/ Installez le SAS® Universal ODBC Driver sur le poste client Windows qui doit accéder au serveur SPDS. Télécharger

2/ Sur ce poste, modifiez le fichier système windows « services », en ajoutant la ligne suivante :
spdsnet           5180/tcp                                    #spds  Server

Ce fichier se trouve en général sous : C:\WINNT\system32\drivers\etc

3/ Le binaire spds.dll utilisé par le SAS® Universal Driver pour accéder au serveur SPDS doit se trouver dans votre répertoire SAS Shared Files:

Ex :  « C:\Program Files\SAS\Shared Files\general ».
Si absent, vous pouvez le récupérer depuis votre installation sur le serveur SPDS
(!SPDSROOT/WIN/core/sasexe).

4/ Créez une connexion ODBC (ODBC Data Source Administrator) avec les caractéristiques suivantes 

  • Dans l'administrateur de source de données ODBC, créez une nouvelle source de données. Choisissez le driver ODBC SAS.

  • Au niveau de l'onglet « General », indiquez un nom pour le Data Source Name (DSN):

  • Au niveau de l'onglet Servers, indiquez le nom sasserver1.spdsnet dans la partie Server Settings de la fenêtre.

    spdsnet correspond au service déclaré dans le fichier services du poste client.
    Cliquez ensuite sur le bouton Configure. Cela vous permet d’obtenir l’écran suivant :

Dans notre cas, nous avons les informations suivantes :
Server Address : sasserver1
User Name : myusername
User Password : mypassword

Connect Options : DBQ='_prg' HOST='sasserver1' SERV='5180'

Cochez : Username/Password Override

Le nom d’utilisateur et son mot de passe correspondent à ce qui a été déclaré dans la base de données « SPD Server Password database ». L’option DBQ représente une bibliothèque SPDS qui est valide.
Cliquez sur « OK » et puis « Add » pour ajouter cette définition au niveau de la liste des serveurs.

  • Sur l’onglet “Libraries”, vous pouvez définir les bibliothèques SPDS que vous voulez référencer et les ajouter à la liste des bibliothèques avec le bouton « Add » :  

Dans notre exemple, nous avons :
Name : PRG_PROD (-> libref)
Host File : anything (non utilisé)
Description : anything
Engine : spdseng
Options : engname=spdseng engopt=' dbq="_prg" '

Dans notre contexte, le champ ‘Engine’ représente le moteur SAS pour accéder aux tables SPDS - « spdseng ». Pour l’option dbq (SPD Server primary LIBNAME domain), vous pouvez choisir l’un des libnames définis dans le fichier « libnames.parm » du serveur. Notez que les noms / valeurs pour l’option « engopt » sont entre guillemets.

  • Revenez sur l'onglet "General" et choisissez le serveur (sasserver1.spdsnet) défini : 

Name : sasserver1_spds
Server : sasserver1.spdsnet
Records to Buffer : 100 (valeur par défaut)
SQL Options : Laissez-les avec les valeurs par défaut. 

5/ Testez la connexion ODBC (avec EXCEL par exemple) :

Données >> Données Externes >> Importer des données >> Connexion à une nouvelle source de données >> DSN ODBC >> Choisissez la data source concernée.

6/ En cas de problème, pour activer l'option de trace ODBC sur Windows :

  • L'onglet « Tracing » de la boîte de dialogue de « ODBC Data Source Administrator » vous permet de configurer la trace des fonctions ODBC.
  • Lorsque vous activez la trace depuis l'onglet « Tracing », le Driver Manager va enregistrer toutes les fonctions ODBC de toutes les applications futures dans le fichier de log que vous spécifiez.
  • Les fonctions ODBC des applications en fonctionnement ne seront pas enregistrées.
  • La trace cesse lorsque vous cliquez sur « Stop Tracing Now ». N'oubliez pas que tant que la trace est active, le fichier de log continue de prendre du volume ce qui ralentit toutes vos applications ODBC. 

7/ Afin de vous aider à débugger vous pouvez regarder les différents journaux SPDS :

  • spdsnsrv.log,
  • spdsserv.log,
  • le fichier quotidien .spdslog

Pour plus d'informations, consultez les documentations suivantes :

Anitha DATCHANAMOURTY
Consultant Support Clients - SAS France