资源描述
,单击此处编辑母板标题样式,单击此处编辑幻灯片母版样式,第二级,第三级,第四级,第五级,*,*,第,*,页,通过可以嵌套,SQL,的宿主语言,通过应用程序接口,,,允许将,SQL,查询送给数据库,ODBC,JDBC,其它:如,RDO,,,ADO,和,OLEDB,。,这些接口目前并不能代替,ODBC,。,应用程序访问数据库的方式,9/15/2024,1,补充:,ODBC,Open Database Connectivity,它是一种用来在相关或不相关的数据库管理系统(,DBMS,),中存取数据的、用,C,语言实现的、标准应用程序数据接口。,通过,ODBC API,,,应用程序可以存取保存在多种不同数据库管理系统(,DBMS,),中的数据,而不论每个,DBMS,使用了何种数据存储格式和编程接口。,9/15/2024,2,JDBC,是一种可用于执行,SQL,语句的,JavaAPI,。,它由一些,Java,语言编写的类和界面组成。,DBC,为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯,Java,语言编写完整的数据库应用程序。,9/15/2024,3,比较,可以从,Java,中使用,ODBC,,,为什么还需要,JDBC,呢?,ODBC,并不适合在,Java,中直接使用。,ODBC,是一个,C,语言实现的,API,,从,Java,程序调用本地的,C,程序会带来一系列类似安全性、完整性、健壮性的缺点。,完全精确地实现从,C,代码,ODBC,到,JavaAPI,写的,ODBC,的翻译也并不令人满意,比如指针。,ODBC,并不容易学习,它将简单特性和复杂特性混杂在一起,甚至对非常简单的查询都有复杂的选项。而,JDBC,刚好相反,它保持了简单事物的简单性,但又允许复杂的特性。,9/15/2024,4,比较,JavaAPI,对于纯,Java,方案来说是必须的。,当使用,ODBC,时,人们必须在每一台客户机上安装,ODBC,驱动器和驱动管理器。,如果,JDBC,驱动器是完全用,Java,语言实现的话,那么,JDBC,的代码就可以自动的下载和安装,并保证其安全性,而且,这将适应任何,Java,平台,从网络计算机,NC,到大型主机,Mainframe,。,JDBC,支持两层模型,也支持三层模型访问数据库。,9/15/2024,5,3.7,嵌入式,SQL,嵌入式,SQL,将,SQL,嵌入到某种高级语言,(,又称主语言,),中使用,利用高级语言的过程性结构来弥补,SQL,实现复杂应用方面的不足,SQL,语句负责操纵数据库,主语言语句负责控制程序流程,9/15/2024,6,3.7.1,嵌入式,SQL,的一般形式,EXEC SQL,前缀用以区分,SQL,语句与主语言语句,DBMS,多采用预编译方式处理宿主语言,SQL,嵌入,SQL,语句包括,说明性语句,可执行语句:数据定义、数据控制、数据操纵,EXEC SQL ,;,9/15/2024,7,3.7.2,与主语句之间的通信,数据库工作单元与源程序工作单元如何通信?,用,SQL,通信区,向主语言传递,SQL,语句的执行状态信息,主语言通过,主变量,向,SQL,语句提供参数,SQL,语句查询数据库的结果通过,主变量和游标,交主语言进一步处理,9/15/2024,8,游标,SQL,语言是集合处理方式,主语言是单记录处理方式,如何协调?,引入游标,游标是系统为用户开设的一个数据缓冲区,存放,SQL,语句的执行结果,每个游标区都有一个名字,用户通过游标逐一获取记录,并赋给主变量,交主语言进一步处理,9/15/2024,9,游标的使用,说明游标,EXEC SQL,DECLARE, CURSOR FOR ,;,打开游标,EXEC SQL,OPEN,;,推进游标并获取当前记录,(,通常在循环结构中使用,),EXEC SQL,FETCH, INTO , ;,关闭游标,EXEC SQL,CLOSE,9/15/2024,10,作业,P148,3、4、5、11、12,9/15/2024,11,
展开阅读全文