Các trình điều khiển ODP.NET về cơ bản bao gồm hai phần. Phần .NET và phần OCI gốc. Thông báo lỗi cho biết phần .NET đang hoạt động nhưng không tải được phần gốc.
Những vấn đề này có thể là do nguyên nhân:
-
Có một phiên bản không khớp giữa phần .NET và phần gốc. Lưu ý rằng
OraOps10.dll
thuộc thảo quyết minh 10g. Vì vậy, phần .NET trước đây là của phiên bản 10 và nó đang tìm kiếm một phần nguyên bản cho phiên bản 10. -
Có thể có sự không khớp về bitness. Nếu phần .NET đang chạy ở chế độ 64 bit, nó sẽ tìm kiếm các DLL OCI 64 bit. Trên hệ thống 64 bit, trình quản lý tác vụ có thể cho bạn biết quá trình là 32 hay 64 bit. Các quy trình 32 bit được đánh dấu bằng
*32
. -
Sổ đăng ký có thể không chứa đường dẫn chính xác đến các tệp DLL gốc. ODP.NET sẽ truy xuất giá trị của
HKEY_LOCAL_MACHINE\Software\Oracle\ODP.NET\2.xxx.x.x\DllPath
để xác định vị trí các DLL OCI. Lưu ý rằng sổ đăng ký được chia thành một phần 32 và 64 bit. Tùy thuộc vào quá trình xem xét sổ đăng ký, nó sẽ nhận được các giá trị khác nhau.
Tốt nhất là bạn nên thêm tất cả thông tin có sẵn vào câu hỏi của mình. Nó có phải là một hệ điều hành 64 bit? Nó là một quá trình 32 hoặc 64 bit? Phiên bản nào của máy khách Oracle đã được cài đặt? Thư mục nào mà máy khách Oracle đã được cài đặt? Bạn có thể thấy các mục đăng ký chính xác không?