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

Tại sao việc triển khai ODP.NET 11 xcopy không hoạt động trên máy đã cài đặt Oracle DB 10?

Vì vậy, theo tôi hiểu, vấn đề là trong khi Oracle.DataAccess.dll nằm trong cùng thư mục với ứng dụng, nó không thể tìm thấy các homies cấp thấp hơn của nó (oci, et al), do đó lỗi tương thích.

Hóa ra là nếu bạn muốn một ứng dụng hoạt động với việc triển khai ODAC 11 xcopy bất kể người dùng có thể đã cài đặt những gì khác trên máy của họ, bạn cần thực hiện 2 điều:

  1. Đặt biến môi trường PATH cho quy trình. (Tôi đã làm việc này.)
  2. Đặt biến môi trường ORACLE_HOME cho quy trình. (Tôi đã không làm điều này.)

    Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\oracle\\11.1\\odac;" + Environment.CurrentDirectory + "\\oracle\\11.1\\odac\\bin;", EnvironmentVariableTarget.Process);
    Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\oracle\\11.1\\odac", EnvironmentVariableTarget.Process);
    

CHỈNH SỬA: Điều quan trọng cần lưu ý là Oracle sẽ gây ra lỗi này không chỉ cho các vấn đề môi trường mà còn nếu một trong các tệp bị thiếu trên máy mục tiêu. Tôi gặp lỗi này tương tự trên các máy khác mặc dù cài đặt Môi trường vì tôi đã đặt Subversion để bỏ qua các thư mục được gọi là "bin", vì vậy OraOps DLL không được sao chép vào máy khách.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truyền mảng làm tham số đầu vào cho một thủ tục được lưu trữ oracle bằng cách sử dụng lệnh gọi jdbc đơn giản

  2. Phân tích áp suất bộ nhớ Trạng thái rủi ro

  3. ORA-00911:ký tự không hợp lệ Cóc

  4. Cài đặt ROracle ::Không thể tải lỗi đối tượng được chia sẻ

  5. SQL động sử dụng bảng cấu hình