应用程序连接数据库的方法

通过嵌套SQL的宿主语言

  通过应用程序接口,允许将SQL查询传给数据库

  ODBC、JDBC

  其他:如RDO,ADO和OLEDB这些接口目前并不能代替ODBC

补充ODBC

  Open Database Connectivity

  它是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的,用C语言实现的、标准应用程序数据接口。

  通过ODBC API,应用程序可以存取保存在多种不同数据库管理系统(DBMS)中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。

JDBC

  是一种可用于执行SQL语句的Java API。它由一些Java语言编写的类和界面组成。

  DBC为数据库应用开发人员,数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。

嵌入式SQL

  将SQL嵌入到某种高级语言(又称主语言)中使用,利用高级语言的过程性结构来弥补SQL实现的复杂应用方面的不足

  SQL语句负责操纵数据库,主语言语句负责控制程序流程

嵌入式SQL的一般形式

  EXEC SQL前缀用以区分SQL语句与主语言语句

    EXEC SQL <SQL语句>;

  DBMS多采用预编译方式处理宿主语言SQL

  嵌入式SQL语句包括

    说明性语句

    可执行语句:数据定义、数据控制、数据操纵

与主语句之间的通信

  数据库工作单元与源程序工作单元如何通信?

  (1)用SQL通信区向主语言传递SQL语句执行状态信息

  (2)主语言通过主变量向SQL语句提供参数

  (3)SQL语句查询数据库的结果通过主变量和游标交主语言进一步处理

 游标

  SQL语言是集合处理的方式,主语言是单记录处理方式,如何协调?

  引入游标

    游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果

    每个游标区都有一个名字

    用户通过游标逐一获取记录,并赋给主变量,交主语言进一步处理

游标的使用

  说明游标

    EXEC SQL DECLARE <游标名> CURSOR FOR <SELECT语句>;

  打开游标

    EXEC SQL OPEN<游标名>;

  推进游标并获取当前记录(通常在循环结构中使用)

    EXEC SQL FETCH <游标名> INTO <主变量> [,<主变量>]...;

  关闭游标

    EXEC SQL CLOSE <游标名>

  

posted @ 2019-09-06 09:26  渔阳俊俊  阅读(1950)  评论(0编辑  收藏  举报