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

O ODP.NET requer instalação do Oracle Client


Alex Keh da Oracle em agosto de 2013 diz:

O ODP.NET gerenciado é lançado. Atualmente faz parte do Oracle DB 12cclient. Para usar o ODP.NET gerenciado, você precisa baixar e instalar o cliente DB. A partir daí, você pode extrair apenas o ODP.NETassembly gerenciado e os arquivos de configuração. Esses arquivos têm menos de 10 MB e podem ser implantados em qualquer máquina de destino.

Atualmente, estamos empacotando uma versão autônoma gerenciada do ODP.NET e uma versão ODAC 12 que será muito menor. Isso será lançado em OTN em breve.

Se você puder esperar alguns dias, o ODAC 12c será lançado na OTN e você poderá baixar essa versão. Essa será nossa versão mais recente e melhor gerenciada do ODP.NET

====

Não planejamos colocar o ODP.NET gerenciado no NuGet. Acreditamos que o download gerenciado do ODP.NET com ODAC fornecerá os mesmos benefícios do NuGet em termos de isolamento de montagem e tamanho do download.

Há um thread discutindo se o Oracle deve fornecer suporte ao managedODP.NET NuGet. Depois de usar o ODAC 12c, gostaria de saber sua opinião sobre se o suporte ao NuGet ainda é necessário. https://forums.oracle.com/thread/2559445

ODP.NET gerenciado pelo Nuget:
PM> Install-Package Oracle.ManagedDataAccess

Então, qual é o problema?
Basicamente até agora, ODP.NET era uma camada .NET que conversava com os arquivos .dll do cliente Oracle, um pequeno fato que teve muitas implicações:
  • Grande área de instalação (várias centenas de Mb)
  • Implantação difícil em máquinas remotas - precisa instalar o ODP.NET na máquina cliente ou implantar arquivos grandes
  • Desafiador ao trabalhar com várias versões, sistemas operacionais de 32/64 bits e aplicativos

Então, o que é?

O driver gerenciado é basicamente um único arquivo .dll com uma implementação nativa .Net do ODP.NET.
Isso significa que nenhum cliente Oracle é necessário, e agora o código nativo está nos bastidores. A instalação do XCopy pode ser feita facilmente.

Principais benefícios:
  • Pequena pegada
  • Compilado como qualquer cpu para que possa funcionar em sistemas operacionais de 32 bits/64 bits e aplicativos sem problemas. Fácil de gerenciar várias versões na mesma máquina
  • Pode ser implantado como uma referência simples no diretório applicationbin.

Então, qual é o problema?
  • Nem todos os recursos são suportados (embora a maioria deles seja... ), você pode descobrir mais na documentação
  • O namespace foi alterado de Oracle.DataAccess.Client para Oracle.ManagedDataAccess.Client
  • As diferenças de desempenho ainda não são claras. (O antigo) O código nativo sempre tem um desempenho muito eficiente, mas, por outro lado, o código gerenciado 100% tem seus benefícios de desempenho.

Observe que o ODP.NET de código nativo ainda está muito disponível. A versão gerenciada (pelo menos por enquanto) vem além da nativa.

Referências:http://oracleatdotnet.blogspot.com.es/2013/07/odpnet-managed-driver-beta-2.html

Diferenças entre o driver gerenciado ODP.NET e o driver não gerenciado http://docs.oracle.com/html/E41125_02/intro004.htm

Recursos do Oracle Data Provider para .NET http://docs.oracle.com/database/121/ODPNT/features.htm#ODPNT0007