I driver ODP.NET sono fondamentalmente costituiti da due parti. La parte .NET e la parte OCI nativa. Il messaggio di errore indica che la parte .NET funziona ma non riesce a caricare la parte nativa.
Questi problemi sono probabili cause:
-
C'è una mancata corrispondenza di versione tra la parte .NET e la parte nativa. Nota che
OraOps10.dll
appartiene a Oracle 10g. Quindi la parte .NET è ovviamente della versione 10 e sta cercando una parte nativa per la versione 10. -
Potrebbe esserci una discrepanza di bit. Se la parte .NET è in esecuzione in modalità a 64 bit, cercherà le DLL OCI native a 64 bit. Su un sistema a 64 bit, il task manager può dirti se il processo è a 32 o 64 bit. I processi a 32 bit sono contrassegnati con
*32
. -
Il registro potrebbe non contenere il percorso corretto delle DLL native. ODP.NET recupererà il valore di
HKEY_LOCAL_MACHINE\Software\Oracle\ODP.NET\2.xxx.x.x\DllPath
per individuare le DLL OCI. Si noti che il registro è suddiviso in una parte a 32 e 64 bit. A seconda del processo che esamina il registro, otterrà valori diversi.
È meglio se aggiungi tutte le informazioni disponibili alla tua domanda. È un sistema operativo a 64 bit? È un processo a 32 o 64 bit? Quale versione del client Oracle è stata installata? In quale directory è stato installato il client Oracle? Riesci a vedere le voci di registro corrette?