Oracle
 sql >> Base de données >  >> RDS >> Oracle

Cadre d'entité .net avec oracle 11g

Il semble que le pilote géré ne puisse pas résoudre les noms TNS. Vous devez vous assurer que votre configuration est correcte (voir Documentation ).

Par exemple :

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

En outre, vous devrez peut-être configurer la fabrique de fournisseurs si elle n'est pas déjà définie dans 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>

En passant, j'ai noté que vous mentionniez Oracle.ManagedDataAccessDTC comme pilote géré. Veuillez noter qu'Oracle.ManagedDataAccessDTC est en fait le composant qui prend en charge les transactions distribuées, tandis que l'assembly de pilote principal s'appelle "Oracle.ManagedDataAccess".