最近微软公司发表了一个声明,听起来像是一个残酷的笑话。多年来,他们一直宣传ODBC(开放式数据库连接)是一种过时的技术,不应该再继续使用,即将被OLE DB(对象链接和嵌入数据库)所替代。然而现在他们声称ODBC是数据访问新的王者,不再推荐使用OLE DB了。 这么多年以来,有数百篇文章、白皮书和博客文章都告诉我们要远离ODBC,应该转而使用本地供应商或者OLE DB。
尽管如此,ODBC从没有真正的离开我们。它主要被应用于遗留应用中,以及访问来自Windows应用程序的专有数据库系统。这些ODBC驱动器通常是由开发特定数据库系统的同一家公司开发的,或者是由专门编写数据连接组件的公司开发的。……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
最近微软公司发表了一个声明,听起来像是一个残酷的笑话。多年来,他们一直宣传ODBC(开放式数据库连接)是一种过时的技术,不应该再继续使用,即将被OLE DB(对象链接和嵌入数据库)所替代。然而现在他们声称ODBC是数据访问新的王者,不再推荐使用OLE DB了。
这么多年以来,有数百篇文章、白皮书和博客文章都告诉我们要远离ODBC,应该转而使用本地供应商或者OLE DB。尽管如此,ODBC从没有真正的离开我们。它主要被应用于遗留应用中,以及访问来自Windows应用程序的专有数据库系统。这些ODBC驱动器通常是由开发特定数据库系统的同一家公司开发的,或者是由专门编写数据连接组件的公司开发的。微软宣布这个消息着实让人有些意外。
微软的公告解释的很清楚:ODBC展现了顽强的生命力,主要是因为多平台的数据库系统访问需求很大。OLEDB只能适用于Windows的世界,而且OLEDB供应器通常是微软公司的产品。在过去几年里,跨平台和跨数据库通信的需求大大增加。有许多数据库产品开始基于NoSQL技术进行开发。所以很清楚,在像Windows、Linux和Unix等多个平台上的异构数据库系统需要彼此交互才能满足商业用户的需求。基于关系型数据库的结构化数据系统通常需要连接非结构化数据存储,比如Hadoop或者Cassandra来做更新或者提取数据。因此,当前最热门的趋势是互连接性和互操作性。微软公司最感兴趣的就是确保SQL Server可以被从各种程序环境和操作系统访问到。通过调查和客户反馈看,他们最终已经意识到ODBC是历史最悠久的跨平台数据访问技术。
为ODBC准备应用程序
这会对您现存的应用程序造成什么样的影响呢?首先,我们没有理由惊慌。微软公司针对SQL Server的OLE DB将继续支持几年。对SQL Server 2012的主流支持会持续到2017年7月。这就给了DBA充足的时间来按需修改应用程序。要理解的问题是,在大部分应用程序中,变更非常简单,基本就是修改使用的连接。在像SQL Server集成服务(SSIS)或者报表服务这类应用中,你只需要在用户界面中把连接类型由OLE DB修改为ODBC。例如,要在SSIS包中修改连接类型,需要创建一个新的ODBC连接使用ODBC连接管理器工具,使用OLE DB连接管理器替换你创建的任何现存连接。
在报表服务中,你需要更改你的数据源,使用ODBC连接字符串类型。在定制的.Net应用程序中还需要多做一点工作。如果你使用了ADO.NET程序集“System.Data.SqlClient ”,你可能将不必再做什么了,因为微软公司将在本地提供者中替换底层代码。如果你使用“System.Data.OleDb”类,你就必须用微软公司在他们的新指导建议中最终推荐的不管什么技术来做替换(可能用ODBC在底层替换“ System.Data.SqlClient”)。
然而,更多人都使用“System.Data.OleDb”类,因为微软一直鼓励使用本地提供器。那也不可能有许多现存代码针对SQL Server数据库使用“System.Data.Odbc”类,因为这种数据访问方法比较令人沮丧。如果你是这么用的,你就完全不必修改代码。最大的变化是修改C或者C++应用程序,因为程序中有手工编码使用SQL Server本地客户端OLE DB API访问SQL Server。这些应用程序将需要使用ODBC应用程序编程接口进行重写。微软公司已经发布了帮助迁移的白皮书。
由于这种数据访问的变化,微软公司的SQL Server团队有很大量的工作要做。许多SQL Server组件都使用OLE DB,包括链接服务器,分布式查询,SQLCMD工具或者针对OLAP的OLE DB。他们现在需要重新设计这些组件,弄清楚如何使它们与ODBC或者一些其它通信方式在SQL Server层面可工作。
作者
翻译
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。