2009-03-25 5 views
6

Sto cercando di capire qual è il modo migliore per connettere un'applicazione ASP.Net (esistente) a un database Oracle per leggere le informazioni del suo dizionario.Come scegliere un fornitore Oracle per l'applicazione .Net?

Ci sono semplicemente troppe possibilità:

    Provider
  • MS dati per Oracle (richiede 8.1.7, spazio dei nomi System.Data.OracleClient)
  • Provider
  • Oracle Data for .NET (richiede 9.2, spazio dei nomi Oracle .DataAccess)
  • Oracle provider per OLE DB
  • MSDASQL e ODBC

Come la mia attuale applicazione utilizza MS SQL server, altre possibilità sarebbe: Server

  • Linked, l'accesso via server..user.object
  • server collegato tramite OPENROWSET

Ci sono un paio di domande su argomenti simili su SO, ma solo alcuni hanno accettato le risposte.

Qual è la tua esperienza con ciascuno dei piloti? Quali sono i loro pro e contro?

Ovviamente Oracle consiglia ODP.Net. Il requisito della versione 9.2 (o successiva) è un problema oggi?

risposta

6

Raccomando anche ODP.NET. Scegli l'ultimo fornitore (http://www.oracle.com/technology/tech/windows/odpnet/index.html). Può connettersi con un database Oracle 9.2 o una versione più recente del database.

MS Data Provider per Oracle è molto limitato. Non è possibile lavorare con gli array ad esempio e con i tipi definiti dall'utente. E perché Microsoft fornisce un buon supporto per la connessione a Oracle?

È inoltre possibile controllare il provider di devart: http://www.devart.com/dotconnect/oracle/. Supporta il framework di entità.

4

Dump OLE Opzioni DB e ODBC, se si dispone di un provider di accesso diretto ai dati, non è necessario utilizzare OLE DB o ODBC.

Raccomando Oracle Data Provider per .NET.

1

Microsoft ha appena annunciato che è deprecating System.Data.OracleClient.

penso che ti lascia con alcune scelte (almeno):

  • ODP.NET (gratuito, da Oracle)
  • Devart
  • DataDirect

Devart ha anche un'implementazione LINQ to Oracle che potrebbe essere interessante per te.