A instalação do ODP.NET pode ser muito complicada. Há muitas coisas que podem dar errado:
- Você pode ter uma incompatibilidade de versão (2.111.7.20 x 2.112.1.0 x 2.112.2.0).
- Você pode ter uma incompatibilidade entre 32 e 64 bits.
- A DLL .NET pode existir, mas uma das dependências não foi encontrada.
Tente verificar primeiro a incompatibilidade de 32/64 bits. No IIS, você pode configurar se seu aplicativo Web é executado como 32 ou 64 bits. Para verificar, dê uma olhada no gerenciador de tarefas e veja se o processo w3wp.exe tem o
*32
marca. Em seguida, vá para C:\Windows\Assembly
no explorador de arquivos. É uma visualização especial que exibe o GAC. Se diz x86 na última coluna na linha Oracle.DataAccess, então é de 32 bits. Se diz AMD64, então é de 64 bits. Na mesma linha, você também encontrará o número exato da versão. Verifique no VisualStudio se o projeto ASP.NET usa o mesmo.
Se não me engano, a dependência principal do
Oracle.DataAccess.dll
é OraOps11w.dll
, que deve estar disponível no diretório BIN do diretório do cliente Oracle. Esse diretório geralmente está localizado por meio do registro (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath
). Certifique-se de olhar para o registro do bitness correto (32 vs 64 bits). Há mais coisas que podem ir. Mas estes aqui geralmente resolvem o problema.