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

Erro Oracle.DataAccess


Primeiro:O cliente/provedor Oracle é uma bagunça. E isso vale tanto para o MS (depreciado de qualquer maneira) quanto para o Oracle.

Para se conectar a um banco de dados Oracle por meio do provedor ODP.NET, três coisas precisam ser configuradas corretamente:
  • O cliente Oracle precisa ser configurado corretamente (não tem nada a ver com o provedor .NET, isso se refere ao cliente Oracle instalado geralmente em c:\oracle)
  • O provedor ODP.NET precisa ser compatível com o cliente Oracle instalado
  • A arquitetura de cliente e provedor e seu aplicativo precisam corresponder, você não pode usar o cliente de 64 bits com um provedor/aplicativo x86 e vice-versa

Normalmente, o melhor é ter a versão mais recente de ambos. Mas se você quiser se livrar desse problema de uma vez por todas, use um provedor oracle .NET de terceiros.

ATUALIZAÇÃO

Um dos melhores é do DataDirect (sem afiliação):
http://www. datadirect.com/products/net/net-for-oracle/index.html

Não é apenas a instalação (sem necessidade de cliente oracle), mas também é mais rápido, totalmente gerenciado, x64 e o suporte geral é muito melhor do que o que você obtém com o ODP.NET. Vai custar-lhe embora.

O DevArt também é bastante decente (e muito, muito mais barato):
http:/ /www.devart.com/dotconnect/oracle/

Decidimos pelo DataDirect por motivos de extensibilidade, mas isso não deve ser relevante para você.

Aqui você pode encontrar uma boa compilação de terceiros que criam provedores .NET, mas não limitados ao oracle:
http://msdn.microsoft.com/en-us/data/dd363565