2009-01-23 8 views
3

Nous avons un script de construction SQL, avec Oracle 10.2. A la fin du script, nous avons ceci:Référence à la variable d'environnement dans les fichiers oracle sql sous Linux et Windows

@$ORACLE_HOME/rdbms/admin/utlrp.sql 

Qui fonctionne sur Linux mais pas sur Windows. Nous avons donc créé un second fichier avec cette ligne:

@%ORACLE_HOME%/rdbms/admin/utlrp.sql 

Sûrement il y a un meilleur moyen. Comment puis-je faire référence à une variable d'environnement de manière multi-plateforme? Ou bien, est-il possible de faire la détection du système d'exploitation dans le fichier sql pour protéger chacune des instructions avec une clause IF?

Répondre

2

Je crois que cette syntaxe est ce que vous avez besoin:

@/RDBMS/admin/utlrp.sql

Cependant, ceci est juste pour la variable ORACLE_HOME. Je ne sais pas pour les autres ...

Edit:

Il est un peu maladroit, mais vous pouvez regarder dans la mise variable d'environnement SQLPATH ainsi. C'est aux scripts SQL dans Oracle, car PATH est aux exécutables sous Unix/Windows.

+0

merci, le point d'interrogation a fonctionné. Savez-vous peut-être où puis-je trouver de la documentation à ce sujet? – Yoni

+0

Voici une référence passagère dans le 8i Administrator's Reference (pour SGI Irix, comment ça se passe pour une explosion du passé): http://download.oracle.com/docs/html/A87435_01/ch3_sol.htm. Il semble être une chose SQL * Plus, mais je ne l'ai pas trouvé dans ce manuel. – DCookie

Questions connexes