用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx

用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx

ID:61426791

大小:17.46 KB

页数:6页

时间:2021-01-29

用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx_第1页
用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx_第2页
用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx_第3页
用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx_第4页
用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx_第5页
资源描述:

《用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、用VC开发基于ORACLE数据库应用程序的两种方法----1.引言----ORACLE公司自1979年推出基于SQL标准的关系数据库产品到1997年版本8的推出,ORACLE数据库以其支持大数据库、多用户的高性能事务处理,对业界各项工业标准的支持,完整的安全和完整性控制,支持分布式数据库和分布处理,具有可移植性、可兼容性和可连接性等突出优点倍受用户喜爱,根据IDG1992年全球UNIX数据库的市场报告,ORACLE占市场销售量的50%。而在客户端的开发工具方面,VisualC++也因其强大的功能和高度的灵活

2、性等特点深受广大程序员的喜爱,因此本文旨在介绍使用VisualC++开发基于ORACLE数据库应用程序的两种方法。----2.使用PRO*C开发数据库应用----2.1PRO*C工作原理----PRO系列是ORACLE公司提供的在第三代高级程序设计语言中嵌入SQL语句来访问数据库的一套预编译程序,包括PRO*Ada、PRO*C、PRO*COBOL、PRO*Fortran、PRO*Pascal和PRO*PL/I六种。程序员用相应的高级语言编写嵌入SQL语句的PRO源程序(若用C语言则称为PRO*C源程序)后运

3、行相应的预编译程序,把嵌入的SQL语句转换为标准的ORACLE调用并生成目标源程序,即纯高级语言格式的源程序,然后就可以将这些源程序加入用户的程序中调用,其处理过程如下图。----ORACLE预编译程序提供如下功能:----⑴能用六种通用的高级程序设计语言中的任何一种编写应用程序。----⑵遵循ANSI标准,在高级语言中嵌入SQL语句。----⑶可采用动态SQL方法,让程序在运行时接受或构造一个有效的SQL语句。----⑷实现ORACLE内部数据类型和高级语言数据类型之间的自动转换。----⑸可通过在应用程

4、序中嵌入PL/SQL事物处理块来改进性能。----⑹能在程序行和命令行上指定所需要的预编译可选项,并可在预编译的过程中改变它们的值。----⑺能全面检查嵌入的SQL数据操纵语句和PL/SQL块的文法和语义。----⑻可用SQL*Net并行存取多个地点的ORACLE数据库。----⑼可把数组作为输入和输出程序变量使用。----⑽能对应用程序中的代码段进行条件预编译。----⑾提供了较强的异常处理功能。----由此可见,通过预编译程序与其它高级语言的结合,既可以利用SQL强有力的功能和灵活性为数据库应用系统的开

5、发提供强有力的手段,又可以充分利用高级语言自身在系统开发方面的优势,从而提供一个完备的基于ORACLE数据库应用程序的开发解决方案。----2.2在VC中使用PRO*C----每个PRO*C源文件一般由程序头和程序体两部分组成。程序头包含宿主变量(SQL语句中所包含的变量)说明、通讯区定义和C外部表示符的说明等。程序体一般是由若干函数组成,这些函数内含有SQL语句(以EXECSQL起头的语句)。----PRO*C支持的数据类型包括VARCHAR2(变长字符串)、NUMBER(二进制数)、INTGER(有符号

6、整数)、FLOAT(浮点数)、STRING(以NULL结尾的字符串)、VARNUM(变长二进制数)、LONG(变长字符串)、VARCHAR(变长字符串)、ROWID(二进制值)、DATE(定长日期/时间值)、VARRAW(变长二进制数据)、RAW(定长二进制数据)、LONGRAW(变长二进制数据)、UNSIGNED(无符号整数)、LONGVARCHAR(变长字符串)、LONGVARRAW(变长二进制数据)、CHAR(定长字符串)、CHARZ(C中定长以NULL结尾的字符串)、MLSLABEL(变长二进制数据

7、)。----在PRO*C中不能使用'l'或'u'作词尾或'0x'作词头修饰常量;在SQL语句中使用单引号来定义字符串,用双引号来定义特殊的或小写字符的标识符(如表名等);SQL语句中不允许使用C中的寻址、间接、位逻辑、复合赋值、?=、-、++、%、<<、>>操作符并且用NOT、AND、OR、=代替!、&&、

8、

9、、==。----下面的程序是一个联结数据库的PRO*C源程序例子。#include//声明SQL通讯区#include#includeEXEC

10、SQLBEGINDECLARESECTION;VARCHARusername[20];//声明宿主变量VARCHARpassword[20];VARCHARdbname[20];EXECSQLENDDECLARESECTION;voiddb_connect(){strcpy((char*)username.arr,"SCOTT");username.len=strlen((char*)username.arr);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。