Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle.DataAccess.dll não pode ser localizado embora exista


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.