sql >> Databáze >  >> RDS >> Oracle

BadImageFormatException. K tomu dojde při spuštění v 64bitovém režimu s nainstalovanými 32bitovými klientskými součástmi Oracle

Jedním z řešení je nainstalovat na váš počítač klienty Oracle x86 (32bitový) i x64, pak nezáleží na tom, na jaké architektuře vaše aplikace běží.

Zde je návod k instalaci klienta x86 a x64 Oracle na jeden počítač:

Předpoklady:Oracle Home se nazývá OraClient11g_home1 , Verze klienta je 11gR2

  • Volitelně odeberte libovolného nainstalovaného klienta Oracle (viz Jak odinstalovat/zcela odebrat Oracle 11g (klient)? v případě problémů)

  • Stáhněte a nainstalujte klienta Oracle x86, například do C:\Oracle\11.2\Client_x86

  • Stáhněte a nainstalujte klienta Oracle x64 do jiné složky , například do C:\Oracle\11.2\Client_x64

  • Otevřete nástroj příkazového řádku, přejděte do složky %WINDIR%\System32 (obvykle C:\Windows\System32 ) a vytvořte symbolický odkaz ora112 do složky C:\Oracle\11.2\Client_x64 (viz sekce příkazů níže)

  • Přejděte do složky %WINDIR%\SysWOW64 (obvykle C:\Windows\SysWOW64 ) a vytvořte symbolický odkaz ora112 do složky C:\Oracle\11.2\Client_x86 , (viz níže)

  • Upravte PATH proměnná prostředí, nahraďte všechny položky jako C:\Oracle\11.2\Client_x86 a C:\Oracle\11.2\Client_x64 od C:\Windows\System32\ora112 , respektive jejich \bin podsložku. Poznámka:C:\Windows\SysWOW64\ora112 nesmí být v prostředí PATH.

  • V případě potřeby nastavte ORACLE_HOME proměnná prostředí na C:\Windows\System32\ora112

  • Otevřete Editor registru. Nastavit hodnotu registru HKLM\Software\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME do C:\Windows\System32\ora112

  • Nastavit hodnotu registru HKLM\Software\Wow6432Node\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME do C:\Windows\System32\ora112 (nikoli C:\Windows\SysWOW64\ora112 )

  • Jsi hotov! Nyní můžete bezproblémově používat klienta x86 a x64 Oracle, tj. aplikace x86 načte knihovny x86, aplikace x64 načte knihovny x64 bez jakýchkoli dalších úprav ve vašem systému.

  • Pravděpodobně je rozumné nastavit TNS_ADMIN proměnná prostředí (resp. TNS_ADMIN záznamy v registru) do společného umístění, například TNS_ADMIN=C:\Oracle\Common\network .

Příkazy pro vytváření symbolických odkazů:

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

Poznámky:

Oba symbolické odkazy musí mít stejný název, např. ora112 .

Přes jejich názvy složka C:\Windows\System32 obsahuje knihovny x64, zatímco C:\Windows\SysWOW64 obsahuje x86 (32bitové) knihovny. Nenechte se zmást.



  1. Jak vypsat všechny tabulky v Oracle

  2. Proč dotaz Microsoft SQL Server 2012 trvá několik minut oproti JDBC 4.0, ale sekundy v Management Studio?

  3. Událost čekání:změna velikosti asynchronního deskriptoru

  4. Přístup k ladění indexu – 2. část