Znam 17 sposobów łączenia się z bazą danych Oracle z aplikacji .NET.
-
ODBC ze sterownikiem firmy Oracle
var connectString = "Driver={Oracle in OraClient11g_home1};Uid=scott;Pwd=secret;DBQ=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
(dokładna nazwa sterownika
Oracle in OraClient11g_home1
zależy od zainstalowanej wersji Oracle) -
ODBC ze sterownikiem firmy Microsoft (tylko dla wersji 32-bitowej, przestarzałe, nie działa już z klientem Oracle 18c lub nowszym)
var connectString = "Driver={Microsoft ODBC for Oracle};Uid=scott;Pwd=secret;Server=orcl1"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
-
Dostawca Oracle dla 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();
-
Dostawca Microsoft OLE DB dla Oracle (tylko dla wersji 32-bitowej, przestarzały, nie działa już z klientem Oracle 18c lub nowszym)
var connectString = "Provider=MSDAORA;Data Source=orcl1;Password=secret;User ID=scott"; var con = new System.Data.OleDb.OleDbConnection(connectString); con.Open();
-
Dostawca danych Microsoft .NET Framework dla Oracle (przestarzały)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new System.Data.OracleClient.OracleConnection(connectString); con.Open();
-
Dostawca danych Oracle dla .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 for .NET, zarządzany sterownik (zarządzany sterownik ODP.NET)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.ManagedDataAccess.Client.OracleConnection(connectString); con.Open();
-
dotConnect dla Oracle firmy Devart (wcześniej znany jako OraDirect .NET firmy Core Lab)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Oracle.OracleConnection(connectString); con.Open();
-
dotConnect Universal firmy Devart (używa przestarzałego
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 ze sterownikiem firmy 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 dla ADO.NET z postępu
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new DDTek.Oracle.OracleConnection(connectString); con.Open();
-
ODBC ze sterownikiem z 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 ze sterownikiem Oracle firmy Easysoft (nie działa dla mnie)
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 ze sterownikiem Oracle WP firmy Easysoft (nie działa dla mnie)
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();
-
Dostawca ADO.NET dla Oracle OCI z CData
var connectString = "Data Source=orcl1;User=scott;Password=secret"; var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString); con.Open();
-
ODBC ze sterownikiem dla Oracle OCI z 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 ze sterownikiem Oracle ze złączem SQL firmy Magnitude (dawniej Simba)
var connectString = "Driver={Simba Oracle ODBC Driver};TNS=orcl1;UID=scott;PWD=secret"; var con = new System.Data.Odbc.OdbcConnection(connectString); con.Open();
Ogólnie wszystkie działają. Dla nowej aplikacji powinieneś użyć ODP.NET lub sterownik zarządzany ODP.NET . Zarządzany sterownik ODP.NET jest całkiem nowy i wciąż ma kilka ograniczeń, a także „najnowsze” błędy.
Dostawcy zewnętrzni mogą ponosić dodatkowe koszty.
Oprócz sterownika zarządzanego ODP.NET , Progress i Sterownik Easysoft ODBC-Oracle WP wszyscy kierowcy/dostawcy muszą mieć zainstalowanego klienta Oracle (natychmiastowego).
Opracowałem aplikację na githubie, która uruchamia wszystkie te 32 (17 64-bitowe + 15 32-bitowych) wariantów jednocześnie.