Eine Lösung besteht darin, sowohl x86- (32-Bit) als auch x64-Oracle-Clients auf Ihrem Computer zu installieren, dann spielt es keine Rolle, auf welcher Architektur Ihre Anwendung ausgeführt wird.
Hier eine Anleitung zur Installation des x86- und x64-Oracle-Clients auf einem Rechner:
Annahmen:Oracle Home heißt OraClient11g_home1 , Client-Version ist 11gR2
-
Entfernen Sie optional jeden installierten Oracle-Client (siehe So deinstallieren/vollständig entfernen Sie Oracle 11g (Client)?, wenn Probleme auftreten)
-
Laden Sie den Oracle x86-Client herunter und installieren Sie ihn, beispielsweise in
C:\Oracle\11.2\Client_x86 -
Laden Sie den Oracle x64-Client herunter und installieren Sie ihn in einem anderen Ordner , zum Beispiel nach
C:\Oracle\11.2\Client_x64 -
Öffnen Sie das Befehlszeilentool, gehen Sie zum Ordner
%WINDIR%\System32(normalerweiseC:\Windows\System32) und erstellen Sie einen symbolischen Linkora112in den OrdnerC:\Oracle\11.2\Client_x64(siehe Befehlsabschnitt unten) -
Wechseln Sie in den Ordner
%WINDIR%\SysWOW64(normalerweiseC:\Windows\SysWOW64) und erstellen Sie einen symbolischen Linkora112in den OrdnerC:\Oracle\11.2\Client_x86, (siehe unten) -
Ändern Sie den
PATHUmgebungsvariable, ersetzen Sie alle Einträge wieC:\Oracle\11.2\Client_x86undC:\Oracle\11.2\Client_x64vonC:\Windows\System32\ora112, bzw. deren\binUnterordner. Hinweis:C:\Windows\SysWOW64\ora112darf sich nicht in der PATH-Umgebung befinden. -
Legen Sie bei Bedarf Ihren
ORACLE_HOMEfest Umgebungsvariable inC:\Windows\System32\ora112 -
Öffnen Sie Ihren Registrierungseditor. Legen Sie den Registrierungswert
HKLM\Software\ORACLE\KEY_OraClient11g_home1\ORACLE_HOMEfest nachC:\Windows\System32\ora112 -
Legen Sie den Registrierungswert
HKLM\Software\Wow6432Node\ORACLE\KEY_OraClient11g_home1\ORACLE_HOMEfest nachC:\Windows\System32\ora112(nichtC:\Windows\SysWOW64\ora112) -
Du bist fertig! Jetzt können Sie den x86- und x64-Oracle-Client nahtlos zusammen verwenden, d. h. eine x86-Anwendung lädt die x86-Bibliotheken, eine x64-Anwendung lädt die x64-Bibliotheken ohne weitere Änderungen auf Ihrem System.
-
Wahrscheinlich ist es sinnvoll, Ihren
TNS_ADMINeinzustellen Umgebungsvariable (bzw.TNS_ADMINEinträge in der Registrierung) an einen gemeinsamen Speicherort, zum BeispielTNS_ADMIN=C:\Oracle\Common\network.
Befehle zum Erstellen symbolischer Links:
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
Hinweise:
Beide symbolischen Links müssen denselben Namen haben, z. ora112 .
Trotz ihres Namens Ordner C:\Windows\System32 enthält die x64-Bibliotheken, wohingegen C:\Windows\SysWOW64 enthält die x86 (32-Bit)-Bibliotheken. Lassen Sie sich nicht verwirren.