Cómo conectarse a la base de datos Oracle 11 desde. red

Cuál es la forma más fácil de conectar a. Aplicación web NET a una base de datos Oracle 11g? ¿Puede EntityFramework manejar esto directamente desde el primer momento? ¿O necesitaré algún tipo de complemento ODBC de Oracle?

* Estoy ejecutando desde un entorno bloqueado, por lo que realmente no puedo probar ninguno de estos escenarios en este momento.

Actualmente estoy ejecutando VS2010, pero estoy buscando para ver si me dejan funcionar con VS2013 (sin nuget).

Conozco diez formas de conectarse a una base de datos Oracle en una aplicación .NET.

  • ODBC con controlador de Oracle

    var connectString = "Driver={Oracle in OraClient11g_home1};Uid=scott;Pwd=secret;DBQ=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open(); 

    (el nombre exacto del controlador Oracle in OraClient11g_home1 depende de la versión de Oracle instalada)

  • ODBC con controlador de Microsoft (solo para 32 bits, obsoleto )

     var connectString = "Driver={Microsoft ODBC for Oracle};Uid=scott;Pwd=secret;Server=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open(); 
  • Proveedor de Oracle para OLE DB

     var connectString = "Provider=OraOLEDB.Oracle;Data Source=orcl1;Password=secret;User ID=scott"; var con = new System.Data.OleDb.OleDbConnection(connectString); con.Open(); 
  • Proveedor Microsoft OLE DB para Oracle (solo para 32 bits, obsoleto )

     var connectString = "Provider=MSDAORA;Data Source=orcl1;Password=secret;User ID=scott"; var con = new System.Data.OleDb.OleDbConnection(connectString); con.Open(); 
  • Proveedor de datos de Microsoft .NET Framework para Oracle ( obsoleto )

     var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new System.Data.OracleClient.OracleConnection(connectString); con.Open(); 
  • Oracle Data Provider para .NET (ODP.NET)

     var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.DataAccess.Client.OracleConnection(connectString); con.Open(); 
  • Oracle Data Provider para .NET, controlador administrado (controlador administrado ODP.NET)

     var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.ManagedDataAccess.Client.OracleConnection(connectString); con.Open(); 
  • dotConnect para Oracle de Devart (anteriormente conocido como OraDirect .NET de Core Lab)

     var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Oracle.OracleConnection(connectString); con.Open(); 
  • DataDirect Connect para ADO.NET desde Progress

     var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new DDTek.Oracle.OracleConnection(connectString); con.Open(); 
  • ODBC con controlador de Progress

     var connectString = "Driver={DataDirect 8.0 Oracle Wire Protocol};Uid=scott;Pwd=secret;ServerName=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open(); 

En general, todos ellos están funcionando. Para la nueva aplicación, debe usar “ODP.NET” o “Controlador administrado ODP.NET”. El “Controlador administrado ODP.NET” es bastante nuevo y todavía tiene algunas limitaciones y también los errores “más nuevos”. “dotConnect for Oracle” y “Progress” son proveedores externos que incluyen costos adicionales.