.NETアプリケーションからOracleデータベースに接続する17の方法を知っています。
-
Oracleのドライバーを使用したODBC
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のバージョンによって異なります) -
Microsoftのドライバを使用したODBC(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 Provider for 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 for 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 Data Provider for Oracle(非推奨)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new System.Data.OracleClient.OracleConnection(connectString); con.Open();
-
Oracle Data Provider for .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、マネージドドライバ(ODP.NETマネージドドライバ)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Oracle.ManagedDataAccess.Client.OracleConnection(connectString); con.Open();
-
DevartのdotConnectforOracle(以前はCoreLabのOraDirect.NETと呼ばれていました)
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new Devart.Data.Oracle.OracleConnection(connectString); con.Open();
-
DevartのdotConnectUniversal(非推奨の
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();
-
Devartのドライバーを使用したODBC
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 for ADO.NET from Progress
var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; var con = new DDTek.Oracle.OracleConnection(connectString); con.Open();
-
Progressのドライバーを使用したODBC
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();
-
EasysoftのOracleドライバーを使用したODBC(私には機能しませんでした)
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();
-
EasysoftのOracleWPDriverを使用したODBC(私には機能しませんでした)
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();
-
CDataからのOracleOCI用のADO.NETプロバイダー
var connectString = "Data Source=orcl1;User=scott;Password=secret"; var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString); con.Open();
-
CDataからのOracleOCI用ドライバーを使用したODBC
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();
-
Magnitude(以前のSimba)のSQLコネクタを備えたOracleドライバを備えたODBC
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 Driver すべてのドライバー/プロバイダーには、Oracle(Instant-)クライアントがインストールされている必要があります。
これらすべての32(1764ビット+15 32ビット)バリアントを一度に実行するアプリケーションをgithubで開発しました。