据微软的 SQLCLi 团队博客所写,Denali 会是 SQL Server 最后一个支持 OLE DB 的版本。然而,由于微软会为 SQL Server Denali 提供七年的支持,因此实际上在产品中对 OLE DB 的支持还有相当长的时间。
之所以做出这样的改变,是因为微软认为 ODBC 才会是业界标准:
云平台会很普遍,为了支持所有从各种平台连接到云中的客户端应用程序,微软已经让 SQL Azure 完全支持 ODBC,因为 ODBC 是唯一一组能够在所有平台——包括非 Windows 平台上——使用的 API。从调查中可以看出,我们的合作伙伴让应用程序使用 ODBC 的主要原因之一就是跨平台的支持。
曾经有一段时间,微软提升了 OLE DB 的地位,认为它是一种更好的关系型数据访问方式,所以这看起来像是一种倒退。据微软的首席程序经理 Amina Saify 所说,情况并不是那样:
之所以要引入 OLE DB,主要是为了给非关系型数据和关系型数据提供统一的数据访问。但是那是微软所独有的技术,只能够在微软的平台上运行。当需要从不同的平台对 SQL Server 进行统一访问的时候,ODBC 总是更好的选择,我们的客户在各种调查、SDR 和论坛中经常会提到这一点。
这种反对意见仅限于 OLE DB 在 SQL Server 本身上的使用;在其它实现中还可能会继续使用这种技术。微软提到,他们会继续支持 ADO.NET(它可以基于 OLE DB 运行),但是那需要更新为非 OLE DB 的提供程序。SQL Servver 当前使用 OLE DB 的各种特性,像 Analysis Services、Integration Services 和 Linked Server 都会更新,用 ODBC 来替代 OLE DB。
微软已经提供了一份文档,说明如何把应用程序从OLE DB 迁移到ODBC。你会受到这种改变的影响吗? 请在评论中告诉我我们。
评论