Die Rangfolge für die Auflösung von TNS-Namen in ODP.NET, Managed Driver ist diese (siehe hier):
- Datenquellen-Alias im Abschnitt „dataSources“ unter dem Abschnitt in der .NET-Konfigurationsdatei.
- Alias der Datenquelle in der Datei tnsnames.ora an dem durch „TNS_ADMIN“ in der .NET-Konfigurationsdatei angegebenen Speicherort.
- Alias der Datenquelle in der Datei tnsnames.ora, die sich im selben Verzeichnis wie die .exe-Datei befindet.
- Alias der Datenquelle in der Datei tnsnames.ora vorhanden unter %TNS_ADMIN% (wobei %TNS_ADMIN% eine Umgebungsvariableneinstellung ist).
- Alias der Datenquelle in der Datei tnsnames.ora, vorhanden unter %ORACLE_HOME%\network\admin (wobei %ORACLE_HOME% eine Umgebungsvariableneinstellung ist).
Ich glaube, der Grund, warum Ihr Beispiel mit Oracle.DataAccess, aber nicht mit Oracle.ManagedDataAccess funktioniert, ist, dass die auf der Windows-Registrierung basierende Konfiguration für Letzteres nicht unterstützt wird (siehe Dokumentation) – die ODP.NET-Installation legt einen ORACLE_HOME-Registrierungsschlüssel fest (HLKM\SOFTWARE\Oracle \Key_NAME\ORACLE_HOME), die nur vom nicht verwalteten Teil erkannt wird.