Modernisation Oracle Forms

Reports sous Windows ignore la valeur de TNS_ADMIN si elle diffère de ORACLE_INSTANCE\config

S'APPLIQUE À : Oracle Reports Developer

Oracle Reports Developer - versions 11.1 à 11.1 [Release 11g]
Windows générique

SYMPTÔMES : REP-501, ORA-12154

Version : 11.1.1.1.0, reports
OS : Windows

Lorsque vous tentez de configurer TNS_ADMIN ailleurs que dans le répertoire ORACLE_INSTANCE\config, l'erreur suivante se produit.

Erreur :

REP-501 UNABLE TO CONNECT TO SPECIFIED DATABASE
ORA-12154 TNS:COULD NOT RESOLVE THE CONNECT IDENTIFIER SPECIFIED

- Sur la même instance, sqlplus et Forms fonctionnent correctement. Le problème ne touche que Reports.

CAUSE

Le problème vient de la configuration suivante :

- Lorsque vous cliquez sur 'start reports builder' dans le menu Démarrer ou que vous démarrez le serveur Reports, rwbuilder.bat / rwserver.bat est invoqué et appelle à son tour reports.bat
- reports.bat contient la ligne suivante.

set TNS_ADMIN=ORACLE_INSTANCE\config



Elle remplace donc le paramètre global de TNS_ADMIN

SOLUTION

1. Modifiez le fichier ORACLE_INSTANCE\config\reports\bin\reports.bat
2. Repérez la ligne suivante et modifiez-la pour indiquer le bon répertoire pour la variable TNS_ADMIN

set TNS_ADMIN=%ORACLE_INSTANCE%\config

Remarque : si la variable TNS_ADMIN est définie dans l'environnement système, il suffit de mettre cette ligne en commentaire.

3. Enregistrez le fichier et redémarrez le Report Builder ou le serveur Reports.
4. Vous pourrez alors vous connecter avec un TNS_ADMIN configuré en dehors de "%ORACLE_INSTANCE%\config"