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

Không thể định vị Oracle.DataAccess.dll mặc dù nó tồn tại

Quá trình cài đặt ODP.NET có thể rất phức tạp. Có nhiều điều có thể xảy ra sai sót:

  • Bạn có thể có phiên bản không khớp (2.111.7.20 so với 2.112.1.0 so với 2.112.2.0).
  • Bạn có thể có sự không khớp giữa 32 và 64 bit.
  • .NET DLL có thể tồn tại nhưng không tìm thấy một trong các phần phụ thuộc.

Trước tiên, hãy thử kiểm tra sự không khớp 32/64 bit. Trong IIS, bạn có thể định cấu hình xem ứng dụng web của mình chạy 32 hay 64 bit. Để kiểm tra, hãy xem trình quản lý tác vụ và xem liệu quá trình w3wp.exe có *32 hay không dấu. Sau đó, truy cập C:\Windows\Assembly trong trình khám phá tệp. Đó là một dạng xem đặc biệt hiển thị GAC. Nếu nó cho biết x86 trong cột cuối cùng trên hàng Oracle.DataAccess, thì nó là 32 bit. Nếu nó cho biết AMD64, thì nó là 64 bit.

Trên cùng một hàng, bạn cũng sẽ tìm thấy số phiên bản chính xác. Kiểm tra trong VisualStudio, xem dự án ASP.NET có sử dụng cùng một dự án hay không.

Nếu tôi không nhầm thì phần phụ thuộc chính của Oracle.DataAccess.dllOraOps11w.dll , sẽ có sẵn trong thư mục BIN của thư mục máy khách Oracle. Thư mục này thường được đặt qua sổ đăng ký (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath ). Đảm bảo rằng bạn xem sổ đăng ký của đúng bitness (32 so với 64 bit).

Có nhiều thứ hơn có thể đi. Nhưng những điều này ở đây thường giải quyết được vấn đề.




  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ạo (hoặc lấy) tập lệnh ddl trên một bảng hiện có trong oracle? Tôi phải tạo lại chúng trong Hive

  2. ORA-00903:tên bảng không hợp lệ trên PreparedStatement

  3. Phương pháp thu thập:Các hàm ĐẦU TIÊN &CUỐI CÙNG trong Cơ sở dữ liệu Oracle

  4. Oracle:Thủ tục lưu trữ Java gửi tin nhắn JMS

  5. Cách thay đổi bảng trong Oracle