数据库相关知识用VC开发Oracle数据库应用程序.docxVIP

数据库相关知识用VC开发Oracle数据库应用程序.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库相关知识用VC开发Oracle数据库应用程序

用VC++开发Oracle数据库应用程序 Oracle公司于1997年推出的Oracle8i数据库以其支持大数据库、多用户的高性能事务处理、支持业界各项工业标准、完整的安全和完整性控制、支持分布式数据库和分布处理,具有可移植性、可兼容性和可连接性等突出优点倍受用户喜爱。而在客户端的开发工具方面,VisualC++也因其强大的功能和高度的灵活性等特点深受广大程序员的喜爱。本文旨在介绍使用VisualC++开发基于Oracle数据库应用程序的两种方法。  使用PRO*C开发数据库应用  1.PRO*C工作原理  PRO系列是Oracle公司提供的在第三代高级程序设计语言中嵌入SQL语句来访问数据库的一套预编译程序,包括PRO*Ada、PRO*C、PRO*COBOL、PRO*Fortran、PRO*Pascal和PRO*PL/I六种。程序员用相应的高级语言编写嵌入SQL语句的PRO源程序(若用C语言则称为PRO*C源程序),然后运行相应的预编译程序,把嵌入的SQL语句转换为标准的Oracle调用并生成目标源程序,即纯高级语言格式的源程序,最后将这些源程序加入用户的程序中调用。  Oracle预编译程序提供如下功能:  能用六种通用的高级程序设计语言中的任何一种编写应用程序。  遵循ANSI标准,在高级语言中嵌入SQL语句。  可采用动态SQL方法,让程序在运行时接受或构造一个有效的SQL语句。  实现Oracle内部数据类型和高级语言数据类型之间的自动转换。  可通过在应用程序中嵌入PL/SQL事物处理块来改进性能。  能在程序行和命令行上指定所需要的预编译可选项,并可在预编译的过程中改变它们的值。  能全面检查嵌入的SQL数据操纵语句和PL/SQL块的文法和语义。  可用SQL*Net并行存取多个地点的Oracle数据库。  可把数组作为输入和输出程序变量使用。  能对应用程序中的代码段进行条件预编译。  提供了较强的异常处理功能。  由此可见,通过预编译程序与其它高级语言的结合,既可以利用SQL强有力的功能和灵活性为数据库应用系统的开发提供强有力的手段,又可以充分利用高级语言自身在系统开发方面的优势,从而提供一个完备的基于Oracle数据库应用程序的开发解决方案。  2.在VC中使用PRO*C  每个PRO*C源文件一般由程序头和程序体两部分组成。程序头包含宿主变量(SQL语句中所包含的变量)说明、通讯区定义和C外部表示符的说明等。程序体一般是由若干函数组成,这些函数内含有SQL语句(以EXEC SQL起头的语句)。  PRO*C支持的数据类型包括:VARCHAR2(变长字符串)、NUMBER(二进制数)、INTGER(有符号整数)、FLOAT(浮点数)、STRING(以NULL结尾的字符串)、VARNUM(变长二进制数)、LONG(变长字符串)、VARCHAR(变长字符串)、ROWID(二进制值)、DATE(定长日期/时间值 )、VARRAW(变长二进制数据)、RAW(定长二进制数据) 、LONGRAW(变长二进制数据)、UNSIGNED(无符号整数)、LONGVARCHAR(变长字符串)、LONGVARRAW(变长二进制数据)、CHAR(定长字符串)、CHARZ(C中定长以NULL结尾的字符串)、MLSLABEL(变长二进制数据)。  在PRO*C中不能使用‘l’或‘u’作词尾或‘0x’作词头修饰常量;在SQL语句中使用单引号来定义字符串,用双引号来定义特殊的或小写字符的标识符(如表名等);SQL语句中不允许使用C中的寻址、间接、位逻辑、复合赋值、?=、--、++、%、、操作符,并且用NOT、AND、OR、=来分别代替!、、||、==。  下面的程序是一个连接数据库的PRO*C源程序例子。  #include //声明SQL通讯区?  #include?  #include?  EXEC SQL BEGIN DECLARE SECTION;?  VARCHAR username[20]; //声明宿主变量?  VARCHAR password[20];?  VARCHAR dbname[20];?  EXEC SQL END DECLARE SECTION;?  void db_connect()?  {?  strcpy((char *)username.arr,SCOTT);?  username.len = strlen((char *)username.arr);?  strcpy((char *)password.arr,TIGER);?  password.len = strlen((char *)password.arr);?  strcpy((char *)dbname.arr,SUNDB);?  dbnam

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档