- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
据库导论第八章:数据库编程讲述
二、驱动程序管理器(Driver Manager ) 职责:用来管理各种数据库驱动程序。它包含在ODBC.dll中。 Uses ODBC INI file to map a data source name to a specific driver DLL. Processes server ODBC initalization calls. Provides entry points to ODBC functions for each driver. Provides parameter validation and sequence validation for ODBC calls. ODBC驱动程序管理器还可以建立、配置或者删除数据源 三、数据库驱动程序(Driver) 驱动程序是一个动态连接链接库文件。 职责:当应用程序调用ODBC函数时,驱动管理员就会加载相应的驱动程序。驱动程序执行 ODBC 函数,并与数据源进行数据交换。 Establishes a connect to a data source. Submits requests to a data sources. Translates data to or from other formats, if requested by the application. Return results to the application. Formats errors into standard error codes and returns them to the application. ?Declares and manipulates cursors if necessary (invisible to the application). Initiates transactions if the data source requires explicit transaction initiation(invisible to the app). 驱动程序的分类 单束式 应用程序 驱动程序 数据源 此时,起数据管理器的作用,用于服务器与应用程序在同一台机器上 多束式 应用程序 驱动程序 数据库通信接口 数据管理系统 数据源 用于网络环境下的数据库访问 四、数据源(Data Source) 数据源是DBMS或者是DBMS与操作系统的一个组合。 职责:提供数据 A DBMS running on a Microsoft Windows NT accessed by TCP/IP. 第八章:数据库编程 数据库是存储数据的仓库,是一种数据共享机构。 一般地,数据库编程要涉及到编程语言和数据库之间的数据交换。如何进行数据交换,对于信息系统的建立至关重要。 数据交换的流程 高级语言 数据库 DBMS SQL 内存 内存中的数据包括状态检测和查询到的数据 数据交换的流程 数据交换准备 设置数据交换的各项环境参数,包括字符集,时区、授权标识符等。 数据连接 建立两个数据体之间的物理连接,包括内存分配、服务器指定等 数据交换 主体应用SQL语句,将获得的数据放入指定的存储区域,同时返回执行状态信息 断开连接 数据交换结束后,断开连接。 数据交换的方式 嵌入式 直接将SQL语言嵌入高级语言中,如C,Fortran,COBOL等。已经不太用。 自含式 DBMS自身包含了程序设计语言:如oracle的PL/SQL,SQL server的T-SQL,主要用于完成存储过程的建立 调用层接口方式 如ODBC,JDBC,是主要的数据交换方式 8.1 嵌入式SQL 在高级语言中,直接加入SQL语句,这种方式称为嵌入式(embedded SQL,ESQL)。 允许嵌入式的高级语言有: Fortran、C、COBOL等 嵌入式需要解决的问题 在嵌入方式下,程序中既有主语句,又有ESQL语句,如何进行区分? 在嵌入方式下,程序中的主语句与ESQL之间如何通信?即:如何得到数据库中的数据以及如何将数据写入数据库 在嵌入方式下,程序中如何区分主语言变量和ESQL字段变量? 在嵌入方式下,主语言变量一般均为标量,而ESQL中的列变量一般均为集合量,如何建立这两种变量之间的交互? 问题的解决方法 主语句和ESQL语句的区别 在SQL语句前加上exec,在结束处用end exec标记(因主语言的不同而异)。 例:int count=1 Exec SQL select * from student 主语言程序与ESQL程序之间的通信 通过建立数据库连接实现主语言和数据库之间的通讯 Exec SQL c
文档评论(0)