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

BadImageFormatException. Điều này sẽ xảy ra khi chạy ở chế độ 64 bit với các thành phần máy khách Oracle 32 bit được cài đặt

Một giải pháp là cài đặt cả Ứng dụng khách Oracle x86 (32-bit) và x64 trên máy của bạn, sau đó ứng dụng của bạn đang chạy trên kiến ​​trúc nào không quan trọng.

Đây là hướng dẫn cài đặt máy khách x86 và x64 Oracle trên một máy:

Giả định: Trang chủ Oracle được gọi là OraClient11g_home1 , Phiên bản Máy khách là 11gR2

  • Tùy chọn gỡ bỏ bất kỳ ứng dụng khách Oracle nào đã cài đặt (xem Cách gỡ cài đặt / xóa hoàn toàn Oracle 11g (ứng dụng khách)? Nếu bạn gặp sự cố)

  • Tải xuống và cài đặt Oracle x86 Client, chẳng hạn như vào C:\Oracle\11.2\Client_x86

  • Tải xuống và cài đặt Oracle x64 Client vào thư mục khác , ví dụ đối với C:\Oracle\11.2\Client_x64

  • Mở công cụ dòng lệnh, đi tới thư mục %WINDIR%\System32 (thường là C:\Windows\System32 ) và tạo một liên kết tượng trưng ora112 vào thư mục C:\Oracle\11.2\Client_x64 (xem phần lệnh bên dưới)

  • Thay đổi thành thư mục %WINDIR%\SysWOW64 (thường là C:\Windows\SysWOW64 ) và tạo một liên kết tượng trưng ora112 vào thư mục C:\Oracle\11.2\Client_x86 , (xem bên dưới)

  • Sửa đổi PATH biến môi trường, thay thế tất cả các mục nhập như C:\Oracle\11.2\Client_x86C:\Oracle\11.2\Client_x64 bởi C:\Windows\System32\ora112 , tương ứng với \bin của họ thư mục con. Lưu ý:C:\Windows\SysWOW64\ora112 không được ở trong môi trường PATH.

  • Nếu cần, hãy đặt ORACLE_HOME của bạn biến môi trường thành C:\Windows\System32\ora112

  • Mở Registry Editor của bạn. Đặt giá trị đăng ký HKLM\Software\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME tới C:\Windows\System32\ora112

  • Đặt giá trị đăng ký HKLM\Software\Wow6432Node\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME tới C:\Windows\System32\ora112 (không phải C:\Windows\SysWOW64\ora112 )

  • Bạn xong việc rồi! Giờ đây, bạn có thể sử dụng ứng dụng khách x86 và x64 Oracle liền mạch với nhau, tức là ứng dụng x86 sẽ tải các thư viện x86, ứng dụng x64 tải các thư viện x64 mà không cần sửa đổi thêm trên hệ thống của bạn.

  • Có lẽ đó là một lựa chọn khôn ngoan để đặt TNS_ADMIN của bạn biến môi trường (tương ứng TNS_ADMIN các mục trong Sổ đăng ký) đến một vị trí chung, ví dụ:TNS_ADMIN=C:\Oracle\Common\network .

Các lệnh để tạo liên kết tượng trưng:

cd C:\Windows\System32
mklink /d ora112 C:\Oracle\11.2\Client_x64
cd C:\Windows\SysWOW64
mklink /d ora112 C:\Oracle\11.2\Client_x86

Ghi chú:

Cả hai liên kết tượng trưng phải có cùng tên, ví dụ:ora112 .

Bất chấp tên của thư mục C:\Windows\System32 chứa các thư viện x64, trong khi C:\Windows\SysWOW64 chứa các thư viện x86 (32-bit). Đừng nhầm lẫ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. Xóa bộ nhớ cache cấp 2 ở chế độ Hibernate sau khi cập nhật DB theo cách thủ công

  2. Sắp xếp lại các cột của bảng trong Oracle

  3. Làm cách nào để chọn các cột từ bảng có giá trị không rỗng?

  4. Tôi nên đặt tài nguyên trình cài đặt ở đâu (tệp wxs, dmg-script, biểu tượng) và cách định cấu hình antrun maven khi triển khai ứng dụng độc lập

  5. Làm thế nào để sử dụng Partition By hoặc Max?