Conosco 17 modi per connettersi a un database Oracle da un'applicazione .NET.
-
ODBC con driver di Oracle
var connectString = "Driver={Oracle in OraClient11g_home1};Uid=scott;Pwd=secret;DBQ=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
(nome esatto del driver
Oracle in OraClient11g_home1
dipende dalla versione Oracle installata) -
ODBC con driver di Microsoft (solo per 32 bit, deprecato, non funziona più con Oracle Client 18c o successivi)
var connectString = "Driver={Microsoft ODBC for Oracle};Uid=scott;Pwd=secret;Server=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
-
Provider Oracle per 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();
-
Provider Microsoft OLE DB per Oracle (solo per 32 bit, deprecato, non funziona più con Oracle Client 18c o versioni successive)
var connectString = "Provider=MSDAORA;Data Source=orcl1;Password=secret;User ID=scott"; var con = new System.Data.OleDb.OleDbConnection(connectString); con.Open();
-
Provider di dati Microsoft .NET Framework per Oracle (obsoleto)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new System.Data.OracleClient.OracleConnection(connectString); con.Open();
-
Provider di dati Oracle per .NET (ODP.NET)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.DataAccess.Client.OracleConnection(connectString); con.Open();
-
Provider di dati Oracle per .NET, driver gestito (driver gestito ODP.NET)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.ManagedDataAccess.Client.OracleConnection(connectString); con.Open();
-
dotConnect per Oracle di Devart (precedentemente noto come OraDirect .NET di Core Lab)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Oracle.OracleConnection(connectString); con.Open();
-
dotConnect Universal di Devart (usa
System.Data.OracleClient
deprecato )var connectString = "Provider=OracleClient;Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Universal.UniConnection(connectString); con.Open();
-
ODBC con driver di 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 per ADO.NET da Progress
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new DDTek.Oracle.OracleConnection(connectString); con.Open();
-
ODBC con driver da 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 di Easysoft (non ha funzionato per me)
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 di Easysoft (non ha funzionato per me)
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();
-
Provider ADO.NET per Oracle OCI da CData
var connectString = "Data Source=orcl1;User=scott;Password=secret"; var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString); con.Open();
-
ODBC con driver per Oracle OCI da 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 di Magnitude (ex Simba)
var connectString = "Driver={Simba Oracle ODBC Driver};TNS=orcl1;UID=scott;PWD=secret"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
In generale funzionano tutti. Per la nuova applicazione dovresti usare ODP.NET o Driver gestito ODP.NET . Driver gestito ODP.NET è abbastanza nuovo e presenta ancora alcune limitazioni e anche i bug "più recenti".
I fornitori di terze parti potrebbero essere soggetti a costi aggiuntivi.
Oltre a Driver gestito ODP.NET , Progress e Driver Easysoft ODBC-Oracle WP tutti i driver/provider devono avere un client Oracle (Instant-) installato.
Ho sviluppato un'applicazione in github che esegue tutte queste 32 varianti (17 a 64 bit + 15 a 32 bit) contemporaneamente.