Kolejność rozstrzygania nazw TNS w ODP.NET, zarządzany sterownik jest następująca (patrz tutaj):
- Alias źródła danych w sekcji „dataSources” w sekcji w pliku konfiguracyjnym .NET.
- Alias źródła danych w pliku tnsnames.ora w lokalizacji określonej przez „TNS_ADMIN” w pliku konfiguracyjnym .NET.
- alias źródła danych w pliku tnsnames.ora znajdującym się w tym samym katalogu co plik .exe.
- Alias źródła danych w pliku tnsnames.ora obecny w %TNS_ADMIN% (gdzie %TNS_ADMIN% jest ustawieniem zmiennej środowiskowej).
- Alias źródła danych w pliku tnsnames.ora w lokalizacji %ORACLE_HOME%\network\admin (gdzie %ORACLE_HOME% jest ustawieniem zmiennej środowiskowej).
Uważam, że powodem, dla którego twoja próbka działa z Oracle.DataAccess, ale nie z Oracle.ManagedDataAccess, jest to, że konfiguracja oparta na rejestrze systemu Windows nie jest obsługiwana dla tego ostatniego (patrz dokumentacja) - instalacja ODP.NET ustawia klucz rejestru ORACLE_HOME (HLKM\SOFTWARE\Oracle \Key_NAME\ORACLE_HOME), który jest rozpoznawany tylko przez część niezarządzaną.