Знам 17 начина за свързване към база данни на Oracle от .NET приложение.
-
ODBC с драйвер от Oracle
var connectString = "Driver={Oracle in OraClient11g_home1};Uid=scott;Pwd=secret;DBQ=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
(точното име на драйвера
Oracle in OraClient11g_home1
зависи от инсталираната версия на Oracle) -
ODBC с драйвер от Microsoft (само за 32-битов, отхвърлен, не работи повече с Oracle Client 18c или по-нова версия)
var connectString = "Driver={Microsoft ODBC for Oracle};Uid=scott;Pwd=secret;Server=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
-
Доставчик на Oracle за 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 за Oracle (само за 32-битов, оттеглен, не работи повече с Oracle Client 18c или по-нова версия)
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 за Oracle (оттеглен)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new System.Data.OracleClient.OracleConnection(connectString); con.Open();
-
Доставчик на данни на Oracle за .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 за .NET, управляван драйвер (ODP.NET управляван драйвер)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.ManagedDataAccess.Client.OracleConnection(connectString); con.Open();
-
dotConnect за Oracle от Devart (известен преди като OraDirect .NET от Core Lab)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Oracle.OracleConnection(connectString); con.Open();
-
dotConnect Universal от Devart (използва отхвърлен
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 с драйвер от 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 за ADO.NET от Progress
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new DDTek.Oracle.OracleConnection(connectString); con.Open();
-
ODBC с драйвер от 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 с Oracle Driver от Easysoft (не работи за мен)
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 с Oracle WP Driver от Easysoft (не работи за мен)
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 доставчик за Oracle OCI от CData
var connectString = "Data Source=orcl1;User=scott;Password=secret"; var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString); con.Open();
-
ODBC с драйвер за Oracle OCI от 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 с драйвер на Oracle със SQL конектор от Magnitude (по-рано Simba)
var connectString = "Driver={Simba Oracle ODBC Driver};TNS=orcl1;UID=scott;PWD=secret"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
Като цяло всички работят. За ново приложение трябва да използвате ODP.NET или Управляван драйвер на ODP.NET . Управляван драйвер на ODP.NET е съвсем нов и все още има няколко ограничения, както и "най-новите" грешки.
Доставчиците на трети страни може да имат допълнителни разходи.
Освен Управляван драйвер на ODP.NET , Progress и Easysoft ODBC-Oracle WP драйвер всички драйвери/доставчици трябва да имат инсталиран Oracle (Instant-) Client.
Разработих приложение в github, което изпълнява всички тези 32 (17 64-битови + 15 32-битови) варианта наведнъж.