Tôi đang xem xét thêm vấn đề này và bạn chỉ cần lấy tất cả các tệp DLL thích hợp từ cùng một phiên bản đã tải xuống của ODP.Net và đặt chúng vào cùng thư mục với tệp Exe của bạn, bởi vì ODP.Net rất kén chọn việc trộn lẫn số phiên bản, đó là sự cố bạn đang gặp phải (thiếu cái đó hoặc oci.dll hoàn toàn, trong trường hợp đó, nó gây ra lỗi tương tự một cách khó chịu).
Tôi đã giải thích cách thực hiện việc này tại đây:http://splinter.com.au/using-the-new-odpnet-to-access-oracle-from-c Tuy nhiên, đây là ý chính của nó:
- Tải xuống http://www.oracle.com/technology/software/tech/windows/odpnet/index1110710beta.html
- Giải nén tệp
- Giải nén tất cả JAR trong đó
- Lấy các dll này vừa được giải nén:oci.dll (được đổi tên từ 'oci.dll.dbl') Oracle.DataAccess.dlloraociicus11.dllOraOps11w.dllorannzsbb11.dlloraocci11.dllociw32.dll (được đổi tên từ 'ociw32.dll.dbl' )
- Đặt tất cả các tệp DLL vào cùng một thư mục với C # Executable của bạn