2016-01-15 38 views
2

连接a的最简单方法是什么? NET Web应用程序到Oracle 11g数据库? EntityFramework可以处理这个开箱即用的功能吗?或者我是否需要Oracle的某种排序或ODBC插件?如何连接到Oracle 11数据库。 net

*我从锁定的环境中运行,所以目前我无法真正测试任何这些场景。

我目前正在运行VS2010,但我期待看看他们是否会让我运行VS2013(没有nuget)。

+0

ODP.net,或者如果您正在部署到不知道安装程序是什么样的计算机(或者他们没有安装Oracle客户端)的计算机,则由Oracle管理ODP.net。如果您需要花费一些钱,devArt dotConnect for Oracle非常好。除非你有令人信服的理由,否则不需要使用ODBC。 – Hambone

回答

2

我知道在.NET应用程序中连接到Oracle数据库的十种方法。

  • 与司机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(); 
    
  • ODBC(仅适用于32位,deprecated

    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位,deprecated

    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(deprecated

    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从核心实验室)

    var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; 
    var con = new Devart.Data.Oracle.OracleConnection(connectString); 
    con.Open(); 
    
  • DataDirect的连接为ADO。从Progress

    var connectString = "Data Source=orcl1;User ID=scott;Password=secret"; 
    var con = new DDTek.Oracle.OracleConnection(connectString); 
    con.Open(); 
    
  • ODBC NET与进展

    司机
    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(); 
    

总的来说,他们都在工作。对于新应用程序,您应该使用“ODP.NET”或“ODP.NET托管驱动程序”。 “ODP.NET托管驱动程序”是相当新的,并且还有一些限制和“最新”的错误。 “dotConnect for Oracle”和“Progress”是第三方供应商,它会带来额外的成本。