Fini l'enfer d'Oracle : Connectez SAS Viya en 30 secondes chrono ! (Sans client, sans config)
Michael 2 views
Difficulty Level
Confirmé
Published on :
Expert Advice
Simon
L'intégration native des drivers Oracle dans SAS Viya lève enfin les freins liés à l'infrastructure, mais n'en oubliez pas pour autant les bonnes pratiques de sécurité ! Pour des scripts robustes et prêts pour la production, remplacez toujours les identifiants en clair de votre instruction LIBNAME par l'option authdomain= adossée à SAS Environment Manager. Vous garantirez ainsi une sécurité totale de vos mots de passe tout en facilitant la portabilité de votre code entre vos environnements de développement et de production.
Oubliez les fichiers de configuration externes. Pour utiliser le driver natif, vous avez juste besoin de la chaîne de connexion sous la forme :
nom-du-serveur:port/nom-du-service
Astuce : Si vous travaillez dans un cluster Kubernetes où Oracle est aussi hébergé, utilisez le nom DNS interne (ex: ma-base-oracle.cluster.local).
Si la liste de vos tables s'affiche dans le journal, félicitations : vous venez de gagner des heures de travail d'administration.
Exemples Poussés : Devenez un Power-User
Le driver natif ne se contente pas de connecter ; il est conçu pour la performance. Voici comment l'exploiter à 100%.
1. Le Turbo-Chargement (Bulk Load & Buffering)
Si vous devez déplacer des gigaoctets de données, ne vous contentez pas des réglages par défaut. Forcez le driver à travailler plus dur :
libname prod oracle
path="prod-db:1521/XE"
user="admin" password="XXX"
readbuff=32767 /* Taille maximale du tampon de lecture */
insertbuff=1000 /* Envoi par blocs de 1000 lignes */
dbcommit=10000; /* Commit toutes les 10k lignes pour stabiliser la mémoire */
1
LIBNAME prod oracle
2
path="prod-db:1521/XE"
3
user="admin" password="XXX"
4
readbuff=32767/* Taille maximale du tampon de lecture */
5
insertbuff=1000/* Envoi par blocs de 1000 lignes */
6
dbcommit=10000; /* Commit toutes les 10k lignes pour stabiliser la mémoire */
2. Le SQL Pass-Through (La puissance d'Oracle dans SAS)
proc sql;
connect to oracle (path="prod-db:1521/XE" user="admin" password="XXX");
/* On crée une table SAS à partir d'un calcul complexe fait PAR Oracle */
create table work.stats_ventes as
select * from connection to oracle (
SELECT region_id, AVG(montant) as panier_moyen
FROM ventes_hist
WHERE date_transaction > '01-JAN-2024'
GROUP BY region_id
);
disconnect from oracle;
quit;
1
PROC SQL;
2
connect to oracle (path="prod-db:1521/XE" user="admin" password="XXX");
3
4
/* On crée une table SAS à partir d'un calcul complexe fait PAR Oracle */
5
create TABLE work.stats_ventes as
6
select * from connection to oracle (
7
SELECT region_id, AVG(montant) as panier_moyen
8
FROM ventes_hist
9
WHERE date_transaction > '01-JAN-2024'
10
GROUP BY region_id
11
);
12
13
disconnect from oracle;
14
QUIT;
Pourquoi c'est une révolution pour vous ?
Avant (V9 / Viya™ Early)
Maintenant (Viya™ Natif)
Installation manuelle du client Oracle
Inclus par défaut
Debugging des variables $PATH
Zéro variable système
Risque de conflits de versions
Version stable (19.22) garantie
Configuration Kubernetes complexe
Transparent et Cloud-Native
L'inclusion des drivers natifs transforme la connectivité Oracle d'une tâche d'expert système en une simple commande pour l'utilisateur final. C'est plus sécurisé, plus stable et infiniment plus simple à maintenir.
Important Disclaimer
The codes and examples provided on WeAreCAS.eu are for educational purposes. It is imperative not to blindly copy-paste them into your production environments. The best approach is to understand the logic before applying it. We strongly recommend testing these scripts in a test environment (Sandbox/Dev). WeAreCAS accepts no responsibility for any impact or data loss on your systems.
SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. WeAreCAS is an independent community site and is not affiliated with SAS Institute Inc.
This site uses technical and analytical cookies to improve your experience.
Read more.