欢迎来到天天文库
浏览记录
ID:42830474
大小:554.00 KB
页数:51页
时间:2019-09-23
《开放数据库互连(ODBC)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库原理DatabasePrinciples第十二章开放数据库互连(ODBC)7/15/20211第十二章开放数据库互连(ODBC)12.1数据库互连概述12.2ODBC工作原理概述12.3ODBCAPI基础12.4ODBC的工作流程12.5小结7/15/2021212.1数据库互连概述ODBC产生的原因:由于不同的数据库管理系统的存在,在某个RDBMS下编写的应用程序就不能在另一个RDBMS下运行许多应用程序需要共享多个部门的数据资源,访问不同的RDBMS7/15/20213数据库互连概述(续)ODBC:是微软公司开放服务体系(Win
2、dowsOpenServicesArchitecture,WOSA)中有关数据库的一个组成部分提供了一组访问数据库的标准APIODBC约束力:规范应用开发规范RDBMS应用接口7/15/20214第十二章开放数据库互连(ODBC)12.1数据库互连概述12.2ODBC工作原理概述12.3ODBCAPI基础12.4ODBC的工作流程12.5小结7/15/2021512.2ODBC工作原理概述ODBC应用系统的体系结构:一、用户应用程序二、驱动程序管理器三、数据库驱动程序四、ODBC数据源管理7/15/20216一、应用程序ODBC应用程序包
3、括的内容:请求连接数据库;向数据源发送SQL语句;为SQL语句执行结果分配存储空间,定义所读取的数据格式;获取数据库操作结果,或处理错误;进行数据处理并向用户提交处理结果;请求事务的提交和回滚操作;断开与数据源的连接。7/15/20217二、驱动程序管理器驱动程序管理器:用来管理各种驱动程序包含在ODBC32.DLL中管理应用程序和驱动程序之间的通信建立、配置或删除数据源并查看系统当前所安装的数据库ODBC驱动程序主要功能:装载ODBC驱动程序选择和连接正确的驱动程序管理数据源检查ODBC调用参数的合法性记录ODBC函数的调用等7/15/
4、20218三、数据库驱动程序ODBC通过驱动程序来提供应用系统与数据库平台的独立性ODBC应用程序不能直接存取数据库其各种操作请求由驱动程序管理器提交给某个RDBMS的ODBC驱动程序通过调用驱动程序所支持的函数来存取数据库。数据库的操作结果也通过驱动程序返回给应用程序。如果应用程序要操纵不同的数据库,就要动态地链接到不同的驱动程序上。7/15/20219数据库驱动程序(续)ODBC驱动程序类型:单束数据源和应用程序在同一台机器上驱动程序直接完成对数据文件的I/O操作驱动程序相当于数据管理器多束支持客户机/服务器、客户机/应用服务器/数据
5、库服务器等网络环境下的数据访问由驱动程序完成数据库访问请求的提交和结果集接收应用程序使用驱动程序提供的结果集管理接口操纵执行后的结果数据7/15/202110四、ODBC数据源管理数据源:是最终用户需要访问的数据,包含了数据库位置和数据库类型等信息,是一种数据连接的抽象数据源对最终用户是透明的ODBC给每个被访问的数据源指定唯一的数据源名(DataSourceName,简称DSN),并映射到所有必要的、用来存取数据的低层软件在连接中,用数据源名来代表用户名、服务器名、所连接的数据库名等最终用户无需知道DBMS或其他数据管理软件、网络以及有
6、关ODBC驱动程序的细节7/15/202111ODBC数据源管理(续)例如,假设某个学校在MSSQLServer和KingbaseES上创建了两个数据库:学校人事数据库和教学科研数据库。学校的信息系统要从这两个数据库中存取数据为方便与两个数据库连接,为学校人事数据库创建一个数据源名PERSON,为教学科研数据库创建一个名为EDU的数据源。当要访问每一个数据库时,只要与PERSON和EDU连接即可,不需要记住使用的驱动程序、服务器名称、数据库名7/15/202112第十二章开放数据库互连(ODBC)12.1数据库互连概述12.2ODBC工作
7、原理概述12.3ODBCAPI基础12.4ODBC的工作流程12.5小结7/15/20211312.3ODBCAPI基础ODBC应用程序接口的一致性API一致性API一致性级别有核心级、扩展1级、扩展2级语法一致性语法一致性级别有最低限度SQL语法级、核心SQL语法级、扩展SQL语法级7/15/202114ODBCAPI基础(续)一、函数概述二、句柄及其属性三、数据类型7/15/202115一、函数概述ODBC3.0标准提供了76个函数接口:分配和释放环境句柄、连接句柄、语句句柄;连接函数(SQLDriverconnect等);与信息相关
8、的函数(如获取描述信息函数SQLGetinfo、SQLGetFuction);事务处理函数(如SQLEndTran);执行相关函数(SQLExecdirect、SQLExecute等);编目函
此文档下载收益归作者所有