sql >> Base de Datos >  >> RDS >> Oracle

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

Conozco 17 formas de conectarme a una base de datos Oracle desde 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();
    

    (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, en desuso, ya no funciona con Oracle Client 18c o posterior)

     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, en desuso, ya no funciona con Oracle Client 18c o posterior)

     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();
    
  • Proveedor de datos de Oracle para .NET (ODP.NET)

     var connectString = "Data Source=orcl1;User ID=scott;Password=secret";
     var con = new Oracle.DataAccess.Client.OracleConnection(connectString);
     con.Open();
    
  • Proveedor de datos Oracle 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();
    
  • dotConnect Universal de Devart (usa System.Data.OracleClient en desuso )

     var connectString = "Provider=OracleClient;Data Source=orcl1;User ID=scott;Password=secret";
     var con = new Devart.Data.Universal.UniConnection(connectString);
     con.Open();
    
  • ODBC con controlador de Devart

     var connectString = "Driver={Devart ODBC Driver for Oracle};Uid=scott;Pwd=secret;Server=orcl1";
     var con = new System.Data.Odbc.OdbcConnection(connectString);
     con.Open();
    
  • DataDirect Connect para ADO.NET de 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();
    
  • ODBC con Oracle Driver de Easysoft (no me funcionó)

     var connectString = "Driver={Easysoft ODBC-Oracle Driver};Database=orcl1;Uid=scott;Pwd=secret;Server=orcl1;SID=orcl1";
     var con = new System.Data.Odbc.OdbcConnection(connectString);
     con.Open();
    
  • ODBC con Oracle WP Driver de Easysoft (no funcionó para mí)

     var connectString = "Driver={Easysoft ODBC-Oracle WP Driver};Database=orcl1;Uid=scott;Pwd=secret;Server=orcl1;SID=orcl1";
     var con = new System.Data.Odbc.OdbcConnection(connectString);
     con.Open();
    
  • Proveedor ADO.NET para Oracle OCI de CData

     var connectString = "Data Source=orcl1;User=scott;Password=secret";
     var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString);
     con.Open();
    
  • ODBC con controlador para Oracle OCI de CData

     var connectString = "Driver={CData ODBC Driver for Oracle OCI};Data Source=orcl1;User=scott;Password=secret";
     var con = new System.Data.Odbc.OdbcConnection(connectString);
     con.Open();
    
  • ODBC con Oracle Driver con SQL Connector de Magnitude (anteriormente Simba)

     var connectString = "Driver={Simba Oracle ODBC Driver};TNS=orcl1;UID=scott;PWD=secret";
     var con = new System.Data.Odbc.OdbcConnection(connectString);
     con.Open();
    

En general todos están funcionando. Para una nueva aplicación, debe usar ODP.NET o Controlador administrado ODP.NET . Controlador administrado ODP.NET es bastante nuevo y todavía tiene algunas limitaciones y también los errores "más nuevos".

Los proveedores externos pueden tener costos adicionales.

Además del controlador administrado ODP.NET , Progreso y Controlador Easysoft ODBC-Oracle WP todos los controladores/proveedores deben tener instalado Oracle (Instant-) Client.

Desarrollé una aplicación en github que ejecuta todas estas 32 variantes (17 de 64 bits + 15 de 32 bits) a la vez.