Ik ken 17 manieren om verbinding te maken met een Oracle-database vanuit een .NET-toepassing.
-
ODBC met driver van Oracle
var connectString = "Driver={Oracle in OraClient11g_home1};Uid=scott;Pwd=secret;DBQ=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
(exacte drivernaam
Oracle in OraClient11g_home1
hangt af van de geïnstalleerde Oracle-versie) -
ODBC met driver van Microsoft (alleen voor 32bit, verouderd, werkt niet meer met Oracle Client 18c of nieuwer)
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 voor 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 voor Oracle (alleen voor 32bit, verouderd, werkt niet meer met Oracle Client 18c of nieuwer)
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-gegevensprovider voor Oracle (verouderd)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new System.Data.OracleClient.OracleConnection(connectString); con.Open();
-
Oracle Data Provider voor .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 voor .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 voor Oracle van Devart (voorheen bekend als OraDirect .NET van Core Lab)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Oracle.OracleConnection(connectString); con.Open();
-
dotConnect Universal van Devart (gebruikt verouderde
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 met chauffeur van 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 voor ADO.NET van Progress
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new DDTek.Oracle.OracleConnection(connectString); con.Open();
-
ODBC met chauffeur van 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 met Oracle Driver van Easysoft (werkte niet voor mij)
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 met Oracle WP Driver van Easysoft (werkte niet voor mij)
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 Provider voor Oracle OCI van CData
var connectString = "Data Source=orcl1;User=scott;Password=secret"; var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString); con.Open();
-
ODBC met stuurprogramma voor Oracle OCI van 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 met Oracle Driver met SQL Connector van Magnitude (voorheen Simba)
var connectString = "Driver={Simba Oracle ODBC Driver};TNS=orcl1;UID=scott;PWD=secret"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
Over het algemeen werken ze allemaal. Gebruik voor een nieuwe toepassing ODP.NET of ODP.NET beheerd stuurprogramma . ODP.NET beheerd stuurprogramma is vrij nieuw en heeft nog een paar beperkingen en ook de "nieuwste" bugs.
De externe providers kunnen extra kosten met zich meebrengen.
Afgezien van ODP.NET Managed Driver , Progress en Easysoft ODBC-Oracle WP Driver alle stuurprogramma's/providers moeten een Oracle (Instant-) Client hebben geïnstalleerd.
Ik heb een applicatie ontwikkeld in github die al deze 32 (17 64-bit + 15 32-bit) varianten tegelijk uitvoert.