Det verkar som att den hanterade drivrutinen inte kan lösa TNS-namn. Du bör se till att din konfiguration är korrekt (se Dokumentation ).
Till exempel:
<oracle.manageddataaccess.client>
...
<settings>
...
<setting name="TNS_ADMIN" value="C:\path\where\TNSNAMESFILE\is"/>
...
</settings>
...
</oracle.manageddataaccess.client>
Du kan också behöva konfigurera leverantörens fabrik om den inte redan har definierats i 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>
För övrigt noterade jag att du nämner Oracle.ManagedDataAccessDTC som den hanterade drivrutinen. Observera att Oracle.ManagedDataAccessDTC faktiskt är den komponent som ger stöd för distribuerade transaktioner, medan huvuddrivrutinsamlingen kallas "Oracle.ManagedDataAccess".