Oracle
 sql >> база данни >  >> RDS >> Oracle

BadImageFormatException. Това ще се случи, когато работите в 64-битов режим с инсталирани 32-битови клиентски компоненти на Oracle

Едно решение е да инсталирате както x86 (32-битови), така и x64 Oracle клиенти на вашата машина, тогава няма значение на коя архитектура работи вашето приложение.

Ето инструкция за инсталиране на x86 и x64 Oracle клиент на една машина:

Предположения:Началото на Oracle се нарича OraClient11g_home1 , Версията на клиента е 11gR2

  • По желание премахнете всеки инсталиран клиент на Oracle (вижте Как да деинсталирате / напълно премахнете Oracle 11g (клиент)? ако срещнете проблеми)

  • Изтеглете и инсталирайте Oracle x86 Client, например в C:\Oracle\11.2\Client_x86

  • Изтеглете и инсталирайте Oracle x64 Client в друга папка , например в C:\Oracle\11.2\Client_x64

  • Отворете инструмента за команден ред, отидете в папката %WINDIR%\System32 (обикновено C:\Windows\System32 ) и създайте символна връзка ora112 в папка C:\Oracle\11.2\Client_x64 (вижте раздела за команди по-долу)

  • Променете към папка %WINDIR%\SysWOW64 (обикновено C:\Windows\SysWOW64 ) и създайте символна връзка ora112 в папка C:\Oracle\11.2\Client_x86 , (вижте по-долу)

  • Променете PATH променлива на средата, заменете всички записи като C:\Oracle\11.2\Client_x86 и C:\Oracle\11.2\Client_x64 от C:\Windows\System32\ora112 , съответно техния \bin подпапка. Забележка:C:\Windows\SysWOW64\ora112 не трябва да е в PATH среда.

  • Ако е необходимо, задайте своя ORACLE_HOME променлива на средата към C:\Windows\System32\ora112

  • Отворете вашия редактор на системния регистър. Задайте стойност на системния регистър HKLM\Software\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME към C:\Windows\System32\ora112

  • Задайте стойност на системния регистър HKLM\Software\Wow6432Node\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME към C:\Windows\System32\ora112 (не C:\Windows\SysWOW64\ora112 )

  • Ти си готов! Сега можете да използвате x86 и x64 Oracle клиент безпроблемно заедно, т.е. x86 приложение ще зареди x86 библиотеките, x64 приложение зарежда x64 библиотеките без никакви допълнителни модификации във вашата система.

  • Вероятно е разумна опция да зададете своя TNS_ADMIN променлива на средата (съответно TNS_ADMIN записи в системния регистър) на общо местоположение, например TNS_ADMIN=C:\Oracle\Common\network .

Команди за създаване на символни връзки:

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

Бележки:

И двете символични връзки трябва да имат едно и също име, напр. ora112 .

Въпреки имената им папка C:\Windows\System32 съдържа x64 библиотеките, докато C:\Windows\SysWOW64 съдържа x86 (32-битови) библиотеки. Не се бъркайте.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате тип BOOLEAN в израза SELECT

  2. Агрегация на низове на Oracle

  3. ПРОВЕРЕТЕ ОГРАНИЧЕНИЕТО на низа да съдържа само цифри. (Oracle SQL)

  4. 4 PL/SQL примера за анонимни блокове

  5. Автоматично увеличение за Oracle