Sepertinya driver yang dikelola tidak dapat menyelesaikan nama TNS. Anda harus memastikan konfigurasi Anda benar (lihat Dokumentasi ).
Misalnya:
<oracle.manageddataaccess.client>
...
<settings>
...
<setting name="TNS_ADMIN" value="C:\path\where\TNSNAMESFILE\is"/>
...
</settings>
...
</oracle.manageddataaccess.client>
Juga, Anda mungkin perlu mengonfigurasi pabrik penyedia jika belum ditentukan di machine.config
:
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver"
invariant="Oracle.ManagedDataAccess.Client"
description="Oracle Data Provider for .NET, Managed Driver"
type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
Sebagai tambahan, saya mencatat Anda menyebutkan Oracle.ManagedDataAccessDTC sebagai driver yang dikelola. Harap dicatat bahwa Oracle.ManagedDataAccessDTC sebenarnya adalah komponen yang menyediakan dukungan untuk transaksi terdistribusi, sedangkan perakitan driver utama disebut "Oracle.ManagedDataAccess".