微軟将弃用 System.Data.OracleClient
http://www.cnblogs.com/WizardWu/archive/2010/05/17/1737009.html
微軟将从 .NET 4 以后的版本弃用 System.Data.OracleClient。
这是微软官方 ADO.NET Team Blog 去年就公布的消息:
http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx
我刚用 VS 2010 测试了一下,才确认这项消息的正确性。OracleClient 是微软针对 Oracle 开发所研发的 ADO.NET Data Provider,从 .NET 1.x 开始,就已成为 .NET Framework 类库的一部分,它与微软 Visual Studio 的集成性非常好。
该篇博文内容大概是说,微软未来不再支持 System.Data.OracleClient 这个 Data Provider 的研发,从 .NET 4 以后的版本,会将该类库移除 [1]。因此,虽然现在 System.Data.OracleClient 在 VS 2010 / .NET 4 里仍可使用,但在开发和编译时,会出现大量的「deprecated (不建议使用)」警告,如下图 1。
根据 ADO.NET OracleClient 产品经理 Himanshu Vasishth 的说法,这对大家现有的项目和代码没有任何影响,大家仍可继续用 OracleClient 来开发应用程序,但 ADO.NET Team 强烈建议用户和开发人员,改用其他厂商或第三方供应商的 Oracle provider。
未来微软对自家的 System.Data.OracleClient,不会再推出新功能,只会针对重大问题和 bug 做修正,并会继续将这些修正发布在 .NET Framework 4.0 的 service packs。另 System.Data.OracleClient 3.5 的支持会从 2013 年延长到 2018 年,System.Data.OracleClient 4.0 的支持则与 .NET Framework 4.0 的生命周期相同。
图 1 以 Visual Studio 2010 Ultimate RC 版 / .NET 4 项目测试,开发和编译时会出现大量的 Warning
以下是该文的后续讨论中,所列出的一些 System.Data.OracleClient 替代方案:
- ODP.NET from Oracle: Oracle 自家的解决方案,正宗且永久免费,使用人数及技术社区众多,听说性能比微软的 Oracle driver 更优 (这点未证实),但只提供基本的数据访问功能,不支持 ADO.NET Entity Framework。 在 ODP.NET 10.2.0.4 之前的版本,常被抱怨版本号码必须与 Oracle 数据库正确对应。但听说新的 ODP.NET 11g,已可与所有版本的 Oracle 数据库兼容 (包括 9.2 版本),且在同一个操作系统上可安装多个版本。 http://www.oracle.com/technology/tech/windows/odpnet/newfeatures.html http://www.oracle.com/technology/tech/dotnet/msoc/index.html
- Devart dotConnet for Oracle: 正式名称是 OraDirect.NET,可免费使用。可支持 ADO.NET Entity Framework。 http://www.devart.com/dotconnect/oracle/ http://devart.com/dotconnect/
- DataDirect ADO.NET Data Provider for Oracle: 可支持 ADO.NET Entity Framework。 http://www.datadirect.com/products/net/net_for_oracle/index.ssp http://www.datadirect.com/index.ssp
- Oracle Multi-Tier .Net Provider from OPENLINK: http://uda.openlinksw.com/dotnet/mt/dotnet-oracle-mt/ http://www.openlinksw.com/