sql >> Base de Datos >  >> RDS >> Oracle

marco de entidad .net con Oracle 11g

Parece que el controlador administrado no puede resolver los nombres TNS. Debe asegurarse de que su configuración sea correcta (consulte Documentación ).

Por ejemplo:

<oracle.manageddataaccess.client>
  ...
  <settings>
    ...
    <setting name="TNS_ADMIN" value="C:\path\where\TNSNAMESFILE\is"/>
    ...
  </settings>
  ...
</oracle.manageddataaccess.client>

Además, es posible que deba configurar la fábrica de proveedores si aún no está definida en 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>

Aparte, noté que está mencionando Oracle.ManagedDataAccessDTC como el controlador administrado. Tenga en cuenta que Oracle.ManagedDataAccessDTC es en realidad el componente que brinda soporte para transacciones distribuidas, mientras que el ensamblaje del controlador principal se llama "Oracle.ManagedDataAccess".