微软决定弃用 OracleClient 命名空间

  • Al Tenhundfeld
  • 王波

2009 年 6 月 27 日

话题:.NETOracleDevOps语言 & 开发架构

微软宣布.NET 4.0 以后的版本将弃用System.Data.OracleClient。该命名空间的类将会在.NET 4.0 中标识为弃用并在未来发布的版本中移除。OracleClient 是微软针对 Oracle 开发的 ADO.NET 提供程序并且作为.NET Framework 类库的一部分。

这项决定引起了使用 Oracle 的.NET 社区开发人员之间的争论。与此同时许多企业级.NET 应用程序使用第三方 Oracle 提供程序,System.Data.OracleClient 通常会在小型应用程序中使用,它与微软开发工具的集成性非常好。

微软坚称这项决定是经过研究和深思熟虑之后做出的:

经过慎重地考虑各方的观点以及和我们的客户、合作伙伴和 MVP 沟通之后,我们决定把 OracleClient 从 ADO.NET 路线图中移除。

这项决定有部分原因是基于目前 Oracle 的第三方 ADO.NET 数据提供程序的广泛应用和不断完善。流行的 Oracle 提供程序在性能上有着显著提升以及不同版本的兼容性得到完善:

尽管遭到社区成员的反对,微软并没有改变该决定的意思,任何人都不应抱有幻想。微软官方的解释是“大部分第三方提供程序都提供同样的性能并能够满足顾客的需求”。因此,不值得对 OracleClient 进行投入,以到达第三方提供者的水平,这样可让微软集中资源在 ADO.NET 的开发上。

一些人把这项举动称作针对 Oracle 以提高.NET 开发门槛的不正当打击,但也有很多人对这项决定持谨慎乐观的态度,也许微软在重新审视对其它公司产品的偏见。例如,ALT.NET 开发人员普遍抱怨微软毫无原因就重新发明轮子,在已经有很好的替代产品的情况下重新开发自己的版本。看看,MSTest 和 NUnit,或者 Entity Framework 和 NHibernate 就知道了。最近官方支持 jQuery 和提供 ASP.NET MVC 源代码的背景下,这项决定可解释为微软进一步承认它无需控制所有的技术。他们可以依赖合作伙伴和社区来提供部分支持。

再者,播客 Connected Show就这次的改动,进行了节目讨论并分析为什么这不是一场灾难。

查看英文原文:Microsoft OracleClient Deprecated

.NETOracleDevOps语言 & 开发架构