Lorsqu'on déploie des projets SAS© d'un environnement de développement vers un environnement d'intégration ou de production, la gestion des connexions aux bases de données (DB2, Oracle, SQL Server) devient souvent un casse-tête.
Le Problème :
Vous avez défini une librairie dans la SAS© Management Console. Dans l'onglet concernant le stockage physique, vous avez saisi l'identifiant et le mot de passe de la base de données de développement.
Lorsque vous déployez vos jobs ou vos fichiers .sas© sur l'environnement d'intégration, la connexion échoue car les identifiants de la base de données y sont différents. Vous êtes alors obligé de modifier les métadonnées ou de régénérer le code à chaque déploiement.
La Solution : L'abstraction par Macro-Variables
Plutôt que de "durcir" (hardcode) les identifiants dans les métadonnées de la table ou de la librairie, la bonne pratique consiste à utiliser des références dynamiques qui seront résolues au moment de l'exécution (runtime).
Voici la démarche en deux étapes pour rendre vos déploiements fluides :
1. Configuration des Métadonnées (SMC)
Dans la SAS© Management Console, au niveau de la définition de votre librairie (ou dans les propriétés de la base de données) :
Ne saisissez pas le nom d'utilisateur réel.
À la place, inscrivez le nom d'une macro-variable, par exemple
&DBUSERet&DBPASS.Assurez-vous d'entrer ces valeurs littéralement (avec le
&).
Lors de l'assignation de la librairie, SAS© ne verra pas encore le mot de passe, mais la référence à la variable.