Jag vet 17 sätt att ansluta till en Oracle-databas från en .NET-applikation.
-
ODBC med drivrutin från Oracle
var connectString = "Driver={Oracle in OraClient11g_home1};Uid=scott;Pwd=secret;DBQ=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
(exakt drivrutinsnamn
Oracle in OraClient11g_home1
beror på installerad Oracle-version) -
ODBC med drivrutin från Microsoft (endast för 32bit, utfasad, fungerar inte längre med Oracle Client 18c eller senare)
var connectString = "Driver={Microsoft ODBC for Oracle};Uid=scott;Pwd=secret;Server=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
-
Oracle Provider för 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();
-
Microsoft OLE DB Provider för Oracle (endast för 32bit, utfasad, fungerar inte längre med Oracle Client 18c eller senare)
var connectString = "Provider=MSDAORA;Data Source=orcl1;Password=secret;User ID=scott"; var con = new System.Data.OleDb.OleDbConnection(connectString); con.Open();
-
Microsoft .NET Framework Data Provider för Oracle (utfasad)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new System.Data.OracleClient.OracleConnection(connectString); con.Open();
-
Oracle Data Provider för .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 för .NET, Managed Driver (ODP.NET Managed Driver)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.ManagedDataAccess.Client.OracleConnection(connectString); con.Open();
-
dotConnect för Oracle från Devart (tidigare känt som OraDirect .NET från Core Lab)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Oracle.OracleConnection(connectString); con.Open();
-
dotConnect Universal från Devart (använder utfasad
System.Data.OracleClient
)var connectString = "Provider=OracleClient;Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Universal.UniConnection(connectString); con.Open();
-
ODBC med drivrutin från 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 för ADO.NET från Progress
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new DDTek.Oracle.OracleConnection(connectString); con.Open();
-
ODBC med drivrutin från 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 med Oracle Driver från Easysoft (fungerade inte för mig)
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 med Oracle WP Driver från Easysoft (fungerade inte för mig)
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();
-
ADO.NET-leverantör för Oracle OCI från CData
var connectString = "Data Source=orcl1;User=scott;Password=secret"; var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString); con.Open();
-
ODBC med drivrutin för Oracle OCI från 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 med Oracle Driver med SQL Connector från Magnitude (tidigare Simba)
var connectString = "Driver={Simba Oracle ODBC Driver};TNS=orcl1;UID=scott;PWD=secret"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
I allmänhet fungerar alla. För nya program bör du använda ODP.NET eller ODP.NET Managed Driver . ODP.NET Managed Driver är ganska ny och har fortfarande några begränsningar och även de "nyaste" buggarna.
Tredjepartsleverantörerna kan komma med ytterligare kostnader.
Förutom ODP.NET Managed Driver , Progress och Easysoft ODBC-Oracle WP-drivrutin alla drivrutiner/leverantörer måste ha en Oracle (Instant-) Client installerad.
Jag utvecklade en applikation i github som kör alla dessa 32 (17 64-bitars + 15 32-bitars) varianter på en gång.