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

Como uso o Oracle a partir do .NET?


A maneira mais simples de explicar o problema é apontar a diferença entre o Oracle Client e as bibliotecas do cliente ODAC.

Em uma máquina de 64 bits (Windows 7+), você precisa ter instalado o Oracle Client de 64 bits. Este é o cliente que sua máquina usará para se conectar aos bancos de dados Oracle implantados localmente em sua máquina. Para aplicativos hospedados em um servidor web ou outro servidor de terminal, a regra é a mesma.

O truque é este... como desenvolvedor, nossas máquinas também devem ter as ferramentas .Net IDE. O Oracle tem uma convenção de nomenclatura ruim, mas essencialmente existem 2 partes:ODT (ferramentas) e ODAC (acesso a dados). O provedor de dados ODP.Net faz parte das bibliotecas ODAC.

Então... de volta ao IDE... O Visual Studio é de 32 bits e, portanto, devemos instalar as ferramentas acima em 32 bits.

Durante o desenvolvimento, depuração, etc., o VS.Net está usando as bibliotecas de cliente de 32 bits e bibliotecas de acesso a dados para trabalhar com o Oracle.

Assim que você implantar esse aplicativo em uma máquina, ele usará qualquer Cliente carregado na máquina, a menos que uma plataforma específica seja direcionada.

Isso significa que se você mirar em 32 e implantar em 64, ele quebrará... e vice-versa. A melhor coisa a fazer é deixá-lo na seção de qualquer plataforma e simplesmente lembrar o que diabos você está fazendo :)

A outra coisa a ter cuidado é garantir que ambos os pacotes Client e ODAC sejam da mesma versão... você não quer ter cliente 11g R2 e 11g R5 ODAC, porque assim que você implanta, a porcaria quebra novamente.

A ressalva aqui é se você deseja "incorporar" o cliente oracle dentro de seu aplicativo, caso em que o OraOps junto com várias outras bibliotecas são implantados com o aplicativo - isso é chamado de Instant Client da Oracle e também faz parte do pacote ODAC e está incluído em seu pacote de cliente completo também.

A boa notícia...


A Oracle está prestes a lançar (2013 Q1) seu próximo pacote ODP.Net... que será uma biblioteca de código totalmente gerenciada... significando que não haverá mais cliente separado ou pacote ODAC para corresponder, e a plataforma ignorará 32 e distinções de 64 bits... funcionará como a antiga biblioteca da microsoft, só que será construída e mantida pela oracle com um conjunto de recursos mais robusto. Só gostaria que chegasse mais cedo.