L'ordre de priorité pour la résolution des noms TNS dans ODP.NET, Managed Driver est le suivant (voir ici) :
- alias de source de données dans la section "dataSources" sous la section du fichier de configuration .NET.
- Alias de source de données dans le fichier tnsnames.ora à l'emplacement spécifié par 'TNS_ADMIN' dans le fichier de configuration .NET.
- alias de source de données dans le fichier tnsnames.ora présent dans le même répertoire que le .exe.
- Alias de source de données dans le fichier tnsnames.ora présent à %TNS_ADMIN% (où %TNS_ADMIN% est un paramètre de variable d'environnement).
- alias de source de données dans le fichier tnsnames.ora présent dans %ORACLE_HOME%\network\admin (où %ORACLE_HOME% est un paramètre de variable d'environnement).
Je crois que la raison pour laquelle votre exemple fonctionne avec Oracle.DataAccess mais pas avec Oracle.ManagedDataAccess est que la configuration basée sur le registre Windows n'est pas prise en charge pour ce dernier (voir la documentation) - l'installation ODP.NET définit une clé de registre ORACLE_HOME (HLKM\SOFTWARE\Oracle \Key_NAME\ORACLE_HOME) qui n'est reconnu que par la partie non gérée.