Die ODP.NET-Treiber bestehen grundsätzlich aus zwei Teilen. Der .NET-Teil und der native OCI-Teil. Die Fehlermeldung zeigt an, dass der .NET-Teil funktioniert, aber den nativen Teil nicht laden kann.
Diese Probleme sind wahrscheinliche Ursachen:
-
Es besteht ein Versionskonflikt zwischen dem .NET-Teil und dem nativen Teil. Beachten Sie, dass
OraOps10.dll
gehört zu Oracle 10g. Der .NET-Teil ist also offensichtlich von Version 10 und sucht nach einem nativen Teil für Version 10. -
Es könnte ein Bitness-Mismatch vorliegen. Wenn der .NET-Teil im 64-Bit-Modus ausgeführt wird, sucht er nach den 64-Bit-nativen OCI-DLLs. Auf einem 64-Bit-System kann der Task-Manager Ihnen sagen, ob der Prozess 32- oder 64-Bit ist. 32-Bit-Prozesse sind mit
*32
gekennzeichnet . -
Die Registrierung enthält möglicherweise nicht den richtigen Pfad zu den nativen DLLs. ODP.NET ruft den Wert von
HKEY_LOCAL_MACHINE\Software\Oracle\ODP.NET\2.xxx.x.x\DllPath
ab um die OCI-DLLs zu finden. Beachten Sie, dass die Registrierung in einen 32- und einen 64-Bit-Teil aufgeteilt ist. Abhängig von dem Prozess, der die Registrierung durchsucht, erhält sie unterschiedliche Werte.
Am besten fügen Sie Ihrer Frage alle verfügbaren Informationen hinzu. Handelt es sich um ein 64-Bit-Betriebssystem? Handelt es sich um einen 32- oder 64-Bit-Prozess? Welche Version des Oracle-Clients wurde installiert? In welchem Verzeichnis wurde der Oracle-Client installiert? Können Sie die richtigen Registrierungseinträge sehen?