1 / 16
文档名称:

基于C语言的DB2数据库开发.doc

格式:doc   页数:16
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于C语言的DB2数据库开发.doc

上传人:小猪猪 2012/6/19 文件大小:0 KB

下载得到文件列表

基于C语言的DB2数据库开发.doc

文档介绍

文档介绍:基于C语言的DB2数据库开发
徐正荣
杭州恒生电子股份有限公司,浙江杭州 310053
摘要:本文探讨了C语言环境下DB2数据库系统的开发过程,着重分析了DB2的开发关键过程及不同于其他数据库的特别之处,并提供了解决关键性问题的程序示例。
关键词:C语言;数据库开发;DB2;嵌入式SQL
引言 2
2
2
2
SQL 语句 2
SQL 语句 2
(Host variables) 2
3
3
3
DB2预编译及绑定 4
4
编译和链接 5
5
5
DB2宿主变量的定义和引用 5
宿主变量的声明 5
宿主变量的约定和限制 6
6
3 DB2动态SQL程序开发 7
7
7
输出结果列固定的动态SELECT语句 7
7
7
动态SQL例程 7
SQLDA的组成和存储格式 9
SQLDA的使用规则 10
11
4 DB2程序开发的实用示例 11
11
如何动态往指定表中插入数据 13
5 结束语 14
参考文献 14
引言
IBM公司的DB2数据库作为当前三大主流数据库之一,在数据库系统开发中占优很大的市场份额,特别是金融行业中,因往往使用IBM自身的AIX系统以及AS400/RS600等服务器,有关的应用系统开发更是越来越偏重于采用DB2数据库。然而,在开发过程中,由于DB2内部的机制及编程方面的限制,使刚开始从事DB2数据库开发或从其他数据库移植到DB2的开发人员感到迷惑重重,难以从其他数据库的开发习惯中适应过来。另外市面上不像ORACLE/SQL SERVER那样有成排的资料书籍,DB2除了IBM自己提供的英文资料外,对开发有参考价值的技术资料相对很少。因此笔者结合自己最近开发的几套DB2应用系统,着重从基于C语言环境下的DB2开发过程做一探讨,并针对和其他数据库开发的不同之处,以及部分关键性问题的解决作详细分析和应用示例。

在进行DB2应用开发之前,了解DB2应用程序的结构,掌握相关概念是很必要的。

嵌入式SQL应用程序就是将SQL语句嵌入某个宿主语言中,SQL语句提供数据库接口,存取并处理 DB2 数据库中的数据,宿主语言提供应用程序的其他执行功能。嵌入式SQL语句包括静态 SQL 语句和动态 SQL 语句。

用于创建主程序的程序设计语言称为宿主语言,例如DB2可以用 C/C++、COBOL、FORTRAN、Java (SQLJ) 以及 REXX 程序设计语言来编写嵌入式 SQL 应用程序,这些程序设计语言都称为宿主语言。
SQL 语句
在编译前就知道 SQL 语句内容以及以及将要存取的表名和列名。唯一未知的是语句正搜索或更新的特定数据值。可以用宿主语言变量表示那些值。在运行应用程序之前,要预编译、编译和捆绑静态 SQL 语句。
SQL 语句
是应用程序在运行期构建并执行的那些语句。一个提示最终用户输入 SQL 语句的关键部分(如要搜索的表和列的名称)的交互式应用程序是动态 SQL 一个很好的示例。应用程序在运行时构建 SQL 语句,然后提交这些语句进行处理。
可以编写只有静态 SQL 语句或只有动态 SQL 语句,或者兼有两者的应用程序。
(Host variables)
在主应用程序中由嵌入式SQL语句引用的变量。宿主变量是该应用程序中的程序设计变量,并且是在数据库中的表与应用程序工作区之间传送数据的主要机制。我们称之为“宿主变量”,是为了与通常方法声明的源语言变量区分开来,通常方法声明的变量不能被SQL语句引用。宿主变量在宿主语言程序模块中以一种特殊的方式声明:必须在BEGIN DECLARE SECTION和END DECLARE SECTION程序节内定义。


在程序结构上,DB2和其他数据库非常相似,下面先来看一个静态SQL程序的C语言例子stati