什么是ODBC ?

什么是ODBC ?


慕慕森
浏览 633回答 2
2回答

慕桂英546537

ODBC是一种连接数据库的开放标准。ODBC(OpenDataBaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。它本身就是为了是数据库的使用者不必考虑使用的是何种数据库而只需要相同的操作而设计的。ODBC是OpenDatabaseConnect即开放数据库互连的简称,它是由Microsoft公司于1991年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而提供了数据库的独立性。ODBC主要由驱动程序和驱动程序管理器组成。驱动程序是一个用以支持ODBC函数调用的模块,每个驱动程序对应于相应的数据库,当应用程序从基于一个数据库系统移植到另一个时,只需更改应用程序中由ODBC管理程序设定的与相应数据库系统对应的别名即可。驱动程序管理器可链接到所有ODBC应用程序中,它负责管理应用程序中ODBC函数与DLL中函数的绑定。ODBC使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC一经推出就获得巨大成功的重要原因之一。从结构上分,ODBC分为单束式和多束式两类。1.单束式驱动程序单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。当用户进行数据库操作时,应用程序传递一个ODBC函数调用给ODBC驱动程序管理器,由ODBCAPI判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。2.多束式驱动程序多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议的一个界面。前端应用程序提出对数据库处理的请求,该请求转给ODBC驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如Oracle的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC驱动程序,再由驱动程序将结果传给应用程序。
打开App,查看更多内容
随时随地看视频慕课网APP