Sterowniki ODP.NET składają się zasadniczo z dwóch części. Część .NET i natywna część OCI. Komunikat o błędzie wskazuje, że część .NET działa, ale nie można załadować części natywnej.
Te problemy są prawdopodobnymi przyczynami:
-
Istnieje niezgodność wersji między częścią .NET a częścią natywną. Zauważ, że
OraOps10.dll
należy do Oracle 10g. Tak więc część .NET jest oczywiście w wersji 10 i szuka natywnej części dla wersji 10. -
Może wystąpić niedopasowanie bitów. Jeśli część .NET działa w trybie 64-bitowym, będzie szukać 64-bitowych natywnych bibliotek DLL OCI. W systemie 64-bitowym menedżer zadań może powiedzieć, czy proces jest 32, czy 64-bitowy. 32-bitowe procesy są oznaczone
*32
. -
Rejestr może nie zawierać poprawnej ścieżki do natywnych bibliotek DLL. ODP.NET pobierze wartość
HKEY_LOCAL_MACHINE\Software\Oracle\ODP.NET\2.xxx.x.x\DllPath
aby zlokalizować biblioteki DLL OCI. Zauważ, że rejestr jest podzielony na część 32- i 64-bitową. W zależności od procesu, który przegląda rejestr, otrzyma różne wartości.
Najlepiej, jeśli dodasz wszystkie dostępne informacje do swojego pytania. Czy to 64-bitowy system operacyjny? Czy jest to proces 32 czy 64-bitowy? Która wersja klienta Oracle została zainstalowana? W jakim katalogu zainstalowano klienta Oracle? Czy widzisz prawidłowe wpisy rejestru?