.net 如何从连接到Oracle 11数据库。网

.net 如何从连接到Oracle 11数据库。网,.net,oracle,oracle11g,.net,Oracle,Oracle11g,最简单的连接方法是什么。NET web应用程序到Oracle 11g数据库?EntityFramework可以直接处理这个问题吗?或者我需要Oracle的某种排序或ODBC插件 *我是在一个被锁定的环境中运行的,所以我现在无法真正测试这些场景中的任何一个 我目前正在运行VS2010,但我想看看他们是否会让我使用VS2013(无nuget) 我知道从.NET应用程序连接到Oracle数据库的17种方法 带有Oracle驱动程序的ODBC var connectString = "Dr

最简单的连接方法是什么。NET web应用程序到Oracle 11g数据库?EntityFramework可以直接处理这个问题吗?或者我需要Oracle的某种排序或ODBC插件

*我是在一个被锁定的环境中运行的,所以我现在无法真正测试这些场景中的任何一个


我目前正在运行VS2010,但我想看看他们是否会让我使用VS2013(无nuget)

我知道从.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();
    
    (OraClient11g_home1中确切的驱动程序名
    Oracle取决于安装的Oracle版本)

  • 带有Microsoft驱动程序的ODBC(仅适用于32位,不再适用于Oracle客户机18c或更高版本)

  • OLE DB的Oracle提供程序

     var connectString = "Provider=OraOLEDB.Oracle;Data Source=orcl1;Password=secret;User ID=scott";
     var con = new System.Data.OleDb.OleDbConnection(connectString);
     con.Open();
    
  • 用于Oracle的Microsoft OLE DB提供程序(仅适用于32位,不再适用于Oracle客户端18c或更高版本)

  • 针对Oracle的Microsoft.NET Framework数据提供程序()

  • Oracle.NET数据提供程序(ODP.NET)

  • 用于.NET的Oracle数据提供程序,托管驱动程序(ODP.NET托管驱动程序)

  • dotConnect for Oracle from(Core Lab以前称为OraDirect.NET)

  • 来自Devart的dotConnect Universal(使用弃用的
    System.Data.OracleClient

  • 带有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();
    
  • 来自ADO.NET的DataDirect Connect

  • 来自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();
    
  • 来自的带有Oracle驱动程序的ODBC(不适用于我)

  • 来自Easysoft的带有Oracle WP驱动程序的ODBC(不适用于我)

  • 来自的Oracle OCI的ADO.NET提供程序

  • CData中带Oracle OCI驱动程序的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();
    
  • 带有Oracle驱动程序的ODBC和来自的SQL连接器

总的来说,他们都在工作。对于新应用程序,您应该使用ODP.NET或ODP.NET托管驱动程序。ODP.NET托管驱动程序是非常新的,仍然有一些限制,还有“最新”的bug

可能带来额外费用的第三方提供商

除了ODP.NET托管驱动程序、Progress和Easysoft ODBC Oracle WP驱动程序外,所有驱动程序/提供程序都需要安装Oracle(即时)客户端


我开发了一个应用程序,可以同时运行所有这些32(17个64位+15个32位)变体。

ODP.net或者,如果您部署到不知道其设置是什么样的计算机上(或者他们没有安装Oracle客户端),则由Oracle管理ODP.net。如果你有一些钱要花,devArt dotConnect for Oracle很不错。除非有令人信服的理由,否则没有必要使用ODBC。
 var connectString = "Data Source=orcl1;User ID=scott;Password=secret";
 var con = new Oracle.DataAccess.Client.OracleConnection(connectString);
 con.Open();
 var connectString = "Data Source=orcl1;User ID=scott;Password=secret";
 var con = new Oracle.ManagedDataAccess.Client.OracleConnection(connectString);
 con.Open();
 var connectString = "Data Source=orcl1;User ID=scott;Password=secret";
 var con = new Devart.Data.Oracle.OracleConnection(connectString);
 con.Open();
 var connectString = "Provider=OracleClient;Data Source=orcl1;User ID=scott;Password=secret";
 var con = new Devart.Data.Universal.UniConnection(connectString);
 con.Open();
 var connectString = "Driver={Devart ODBC Driver for Oracle};Uid=scott;Pwd=secret;Server=orcl1";
 var con = new System.Data.Odbc.OdbcConnection(connectString);
 con.Open();
 var connectString = "Data Source=orcl1;User ID=scott;Password=secret";
 var con = new DDTek.Oracle.OracleConnection(connectString);
 con.Open();
 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();
 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();
 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();
 var connectString = "Data Source=orcl1;User=scott;Password=secret";
 var con = new System.Data.CData.OracleOci.OracleOciConnection(connectString);
 con.Open();
 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();
 var connectString = "Driver={Simba Oracle ODBC Driver};TNS=orcl1;UID=scott;PWD=secret";
 var con = new System.Data.Odbc.OdbcConnection(connectString);
 con.Open();