Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ODP.NET Managed - Không thể tìm thấy Nhà cung cấp Dữ liệu .Net Framework được yêu cầu

Tôi đã gặp lỗi này khi triển khai ứng dụng ASP.NET MVC 5 bằng EntityFramework 5 tới máy chủ 64 bit của chúng tôi, trên đó đã cài đặt phiên bản 64 bit của các thành phần máy khách ODAC.

Tôi đã làm theo lời khuyên của b_levitt và xác nhận rằng kết nối có thể được mở theo cách thủ công mà không cần sử dụng các nhà máy, vì vậy ODAC đã được cài đặt và hoạt động, nhưng các phương pháp của nhà máy không thể xác định vị trí các cụm.

Sau khi nhổ tóc trong một khoảng thời gian không được tiết lộ, tôi phát hiện ra rằng vấn đề là với tệp machine.config cho phiên bản 32-bit của .NET framework. Nó không bao gồm các mục nhập cho các nhà cung cấp tiên tri, vì vậy tôi đã thêm các mục nhập sau vào tệp này theo cách thủ công:

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

Dưới

<configuration>
  <configSections>

đảm bảo rằng bạn có hai yêu cầu phần sau:

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

Bạn có thể lấy các mục nhập chính xác từ tệp machine.config của mình trong thư mục framework64.

Tiếp theo, trong

  <system.data>
    <DbProviderFactories>

đảm bảo rằng bạn có hai tên nhà máy sau:

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

Sau khi thêm các mục này, mọi thứ đều hoạt động với tôi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đặt vùng múi giờ cho Kết nối JDBC và tránh không tìm thấy vùng múi giờ SqlException?

  2. java.lang.ClassCastException:oracle.sql.TIMESTAMP không thể truyền sang java.sql.Timestamp

  3. sqlplus cách tìm chi tiết về phiên cơ sở dữ liệu hiện được kết nối

  4. Cách khôi phục bản vá sau giai đoạn chuyển đổi không thành công trong R12.2

  5. Hàm lấy số ngày trong tuần giữa hai ngày trừ ngày lễ