- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DB2嵌入式C开发(一)
1.1 DB2应用程序开发概述
程序结构
DB2应用程序包括以下几个部分:
声明和初始化变量
连接到数据库
执行一个或者多个事务
与数据库断开连接
5.结束程序
一个事务是一组数据库操作,在提交给数据库之前,必须确认完全成功执行。在嵌入式SQL应用程序中,当应用程序成功地连接到一个数据库时,一个事务就自动开始了,结束于执行一条COMMIT语句或者ROLLBACK语句。同时,下一条SQL语句开始一个新的事务。
每一个应用程序的开始必须包括:
数据库管理器用来与宿主程序交互的所有变量和数据结构的声明
设置SQL通信区(SQLCA),提供错误处理的SQL语句
注意:用JAVA写的DB2应用程序在SQL语句出错时抛出一个SQLException异常,需要在catch块里处理,而不是使用SQLCA。
每个应用程序的主体包括访问和管理数据的SQL语句。这些语句组成事务,事务必须包括下列语句:
CONNECT语句,其建立一个与数据库服务器的连接
一条或多条:
▲数据操纵语句(例如,SELECT语句)
▲数据定义语句(例如,CREATE语句)
▲数据控制语句(例如,GRANT语句)
COMMIT或者ROLLBACK语句结束事务
应用程序的结束通常包括释放程序与数据库服务器的连接和释放其他资源的SQL语句。
开发方法选择
可使用几种不同的程序设计接口来存取 DB2 数据库。您可以:
将静态和动态 SQL 语句嵌入应用程序。
在应用程序中编写“DB2 调用层接口”(DB2 CLI) 的函数调用,以调用动态 SQL 语句。
开发调用“Java 数据库链接”应用程序设计接口 (JDBC API) 的 Java 应用程序和小程序。
开发符合“数据存取对象 (DAO) ”和“远程数据对象 (RDO) ” 规范的 Microsoft Visual Basic 和 Visual C++ 应用程序,以及使用“对象链接和嵌入数据库 (OLE DB) 桥接”的“ActiveX 数据对象”(ADO) 应用程序。
使用 IBM 或第三方工具如 Net.Data、Excel、Perl、“开放式数据库链接”(ODBC) 最终用户工具如 Lotus Approach 及其程序设计语言 LotusScript 来开发应用程序。
要执行备份和复原数据库等管理功能,应用程序可以使用 DB2 API。
应用程序存取 DB2 数据库的方式将取决于想要开发的应用程序类型。例如,如果想开发数据输入应用程序,可以选择将静态 SQL 语句嵌入应用程序。如果想开发在万维网 (WWW) 上执行查询的应用程序,可能要选择 Net.Data、Perl 或 Java。
1.2相关概念
1.2.1 嵌入式SQL编程
嵌入式SQL应用程序就是将SQL语句嵌入某个宿主语言中,SQL语句提供数据库接口,宿主语言提供应用程序的其他执行功能。
“结构化查询语言”(SQL) 是一种数据库接口语言,它用来存取并处理 DB2 数据库中的数据。可以将 SQL 语句嵌入应用程序,使应用程序能执行 SQL 支持的任何任务,如检索或存储数据。通过使用 DB2,可以用 C/C++、COBOL、FORTRAN、Java (SQLJ) 以及 REXX 程序设计语言来编写嵌入式 SQL 应用程序。
嵌入了 SQL 语句的应用程序称为主程序。用于创建主程序的程序设计语言称为宿主语言。用这种方式定义程序和语言,是因为它们包含了 SQL 语句。
对于静态 SQL 语句,您在编译前就知道 SQL 语句类型以及表名和列名。唯一未知的是语句正搜索或更新的特定数据值。可以用宿主语言变量表示那些值。在运行应用程序之前,要预编译、编译和捆绑静态 SQL 语句。静态 SQL 最好在变动不大的数据库上运行。否则,这些语句很快会过时。
相反,动态 SQL 语句是应用程序在运行期构建并执行的那些语句。一个提示最终用户输入 SQL 语句的关键部分(如要搜索的表和列的名称)的交互式应用程序是动态 SQL 一个很好的示例。 应用程序在运行时构建 SQL 语句,然后提交这些语句进行处理。
可以编写只有静态 SQL 语句或只有动态 SQL 语句,或者兼有两者的应用程序。
一般来说,静态 SQL 语句最适合用于带有预定义事务的高性能应用程序。预订系统是这种应用程序一个很好的示例。
一般来说,动态 SQL 语句最适合于必须在运行期指定事务的、要快速更改数据库的应用程序。交互式查询界面是这种应用程序一个很好的示例。
将 SQL 语句嵌入应用程序时,必须按以下步骤预编译应用程序并将其与数据库捆绑:
1. 创建源文件,以包含带嵌入式 SQL 语句的程序。
2. 连接数据库,然后预编译每个源文件。
预编译程序将每个源文件中
您可能关注的文档
最近下载
- 科技馆项目-绿色建筑设计专篇.pdf VIP
- 仁爱科普版(2024)七年级上册 Unit 1 Let's Be Friends! 提升训练卷(含答案).docx VIP
- 《失智老年人照护》课件:失智老年人四肢被动活动相关知识.pptx VIP
- 汶川县七盘沟绿色工业集中区规划环评.pdf VIP
- 偏心压力机 - sms group.pdf VIP
- 医疗器械体系文件-文件控制程序及相关表单.pdf VIP
- 高危新生儿分类分级管理专家共识(2023)解读.pptx VIP
- 07J905-1 防火建筑构造(一).docx VIP
- 物业服务人员管理方案.docx VIP
- 高中数学知识点总结(全版).doc VIP
文档评论(0)