Como escolher um provedor de Oracle para aplicação .net?
-
22-08-2019 - |
Pergunta
Eu estou tentando descobrir o que é a melhor maneira de conectar um aplicativo ASP.Net (existente) para um banco de dados Oracle para ler suas informações de dicionário.
Há simplesmente demasiados possibilidades:
- Provedor de MS de dados para Oracle (requer 8.1.7, namespace System.Data.OracleClient)
- Oracle Data Provider para .NET (requer 9.2, namespace Oracle.DataAccess)
- Provider Oracle para OLE DB
- MSDASQL e ODBC
Como meu aplicativo atual usa servidor MSSQL, mais opções seria:
- Linked Server, o acesso via server..user.object
- Linked Server via OPENROWSET
Há um par de perguntas sobre temas semelhantes sobre SO, mas apenas alguns aceitaram respostas.
Qual é a sua experiência com cada um dos drivers? Quais são os seus prós e contras?
É claro que a Oracle está recomendando ODP.Net. É a exigência da versão 9.2 (ou superior) um problema hoje?
Solução
Eu também recomendo ODP.NET. Escolha o mais recente provedor ( http://www.oracle.com/technology/ tecnologia / windows / odpnet / index.html ). Ele pode se conectar com um banco de dados Oracle 9.2 ou uma versão mais recente do banco de dados.
O Provedor de MS de dados para Oracle é muito limitado. Você não pode trabalhar com matrizes, por exemplo, e os tipos definidos pelo usuário. E por que a Microsoft fornecer um bom suporte para conexão com o Oracle?
Você também pode verificar o provedor de devart: http://www.devart.com/dotconnect / oracle / . Ele suporta a estrutura de entidade.
Outras dicas
Dump opções OLE DB e ODBC, se você tiver provedor de acesso direto aos dados, não há necessidade em usar OLE DB ou ODBC.
Eu recomendo Oracle Data Provider para .NET.
Microsoft acaba de anunciar que é depreciativo System.Data.OracleClient .
Eu acho que te deixa com algumas escolhas (pelo menos):
- ODP.NET (livre, a partir de Oracle)
- DevArt
- DataDirect
DevArt também tem um LINQ para implementação do Oracle que poderia ser interessante para você.