Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ODP.NET Managed - Tidak dapat menemukan .Net Framework Data Provider yang diminta

Saya mendapatkan kesalahan ini ketika menggunakan aplikasi ASP.NET MVC 5 menggunakan EntityFramework 5 ke server 64-bit kami di mana versi 64-bit komponen klien ODAC diinstal.

Saya mengikuti saran b_levitt dan memastikan bahwa koneksi dapat dibuka secara manual tanpa menggunakan pabrik, sehingga ODAC dipasang dan berfungsi, tetapi metode pabrik tidak dapat menemukan rakitan.

Setelah menarik rambut saya untuk waktu yang tidak diungkapkan, saya menemukan bahwa masalahnya ada pada file machine.config untuk versi 32-bit dari kerangka .NET. Itu tidak termasuk entri untuk penyedia oracle, jadi saya menambahkan entri berikut secara manual ke file ini:

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

Di bawah

<configuration>
  <configSections>

pastikan Anda memiliki dua bagian berikut secara keseluruhan:

<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" />

Anda bisa mendapatkan entri yang tepat dari file machine.config Anda di bawah folder framework64.

Selanjutnya, di bawah

  <system.data>
    <DbProviderFactories>

pastikan Anda memiliki dua nama pabrik berikut:

  <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" />

Setelah menambahkan entri ini, semuanya bekerja untuk saya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah pernyataan CASE dan DECODE setara?

  2. Fungsi Analitik LEAD dan LAG

  3. Apakah ODP.NET memerlukan instalasi Oracle Client?

  4. Cara memasukkan data langsung dari Excel ke Oracle Database

  5. Bagaimana cara menghapus semua tabel pengguna?