sql >> Databáze >  >> RDS >> Oracle

ODP.NET Managed - Nelze najít požadovaného poskytovatele dat .Net Framework

Tato chyba se mi zobrazila při nasazování aplikace ASP.NET MVC 5 pomocí EntityFramework 5 na náš 64bitový server, na kterém byla nainstalována 64bitová verze součástí klienta ODAC.

Sledoval jsem b_levittovu radu a potvrdil jsem, že připojení lze otevřít ručně bez použití továren, takže ODAC byl nainstalován a fungoval, ale tovární metody nedokázaly najít sestavy.

Po nezveřejněném čase jsem se tahal za vlasy a zjistil jsem, že problém je v souboru machine.config pro 32bitovou verzi frameworku .NET. Nezahrnoval položky pro poskytovatele oracle, takže jsem do tohoto souboru ručně přidal následující položky:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

Pod

<configuration>
  <configSections>

ujistěte se, že máte následující dva celky:

<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Přesné položky můžete získat ze souboru machine.config ve složce framework64.

Dále pod

  <system.data>
    <DbProviderFactories>

ujistěte se, že máte následující dva tovární názvy:

  <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" />
  <add name="ODP.NET, Unmanaged Driver" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

Po přidání těchto záznamů mi vše fungovalo.



  1. Exportujte konkrétní řádky z tabulky PostgreSQL jako INSERT SQL skript

  2. psql:nelze se připojit k serveru:Žádný takový soubor nebo adresář (Mac OS X)

  3. Připojte se k nám na Microsoft Access s SQL Server Academy část II

  4. Operátor PostgreSQL IN se slabým výkonem poddotazu