- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库开发.ppt-Size
内容概要 Pro*C 简介 嵌入式SQL 开发运行标准流程 宿主变量与指示变量 Definition, Type, Use, 嵌入SQL语句 DDL, DML, PL/SQL语句的嵌入式 Pro程序 通过在过程化编程语言中嵌入SQL语句而开发出的应用程序称为Pro程序。 在通用编程语言中使用的SQL称为嵌入式SQL 在SQL标准中定义了多种语言的嵌入式SQL 各个厂商对嵌入式SQL的具体实现不同 宿主语言 Pro程序 C/C++ Pro*C/C++ FORTRAN Pro*FORTRAN PASCAL Pro*PASCAL COBOL Pro*COBOL PL/I Pro*PL/I Ada Pro*Ada Pro*C/C++程序 在C/C++语言中嵌入SQL语句而开发出的应用程序称为Pro*C/C++程序。 目的:使c/c++这种高效率语言成为访问数据库的工具。 Pro*C程序实例 #includestdio.h EXEC SQL BEGIN DECLARE SECTION; char username[20]; char password[20]; char last_name[25]; EXEC SQL END DECLARE SECTION; EXEC SQL INCLUDE sqlca; void sqlerror(); main() { EXEC SQL WHENEVER SQLERROR DO sqlerror(); strcpy(username,tarena); strcpy(password, tarena); EXEC SQL CONNECT:username IDENTIFIED BY:password; EXEC SQL SELECT last_name INTO :last_name FROM s_emp WHERE id=2; printf(\nID=2,last_name=%s\n , last_name); } void sqlerror() { EXEC SQL WHENEVER SQLERROR CONTINUE; printf(\n oracle error detected:\n); printf(%.70s\n, sqlca.sqlerrm.sqlerrmc); EXEC SQL ROLLBACK WORK RELEASE; exit(1); } 程序结构 Include 头文件 (c/c++ and pro*c/c++) 定义变量 定义函数 Main 连结数据库: connect SQL 操作语句: EXEC SQL …….; exception handler 断开连结:EXEC SQL COMMIT / ROLLBACK WORK release Pro*C程序开发运行流程 一般应用程序(C)开发运行标准流程 Pro*C程序开发运行流程 一般应用程序(C)开发运行标准流程 Pro*C程序开发运行流程 Pro*C预编译程序 完成Pro*C源程序到纯C源程序的转换 基本命令格式 PROC INAME=filename [OptionName1=value1]…[OptionNameN=valueN] Pro*C预编译程序 常用预编译选项 INAME=path and filename (name of the input file) ONAME=path and filename (name of the output file) INCLUDE=path (头文件所在路径) INCLUDE =路径名 或 INCLUDE =(路径名1,路径名2…) PARSE=FULL | PARTIA | NONE (default FULL for C, Others for C++) CODE=ANSI_C | CPP (default ansi_c) USERID=username/password MODE=ANSI | ORACLE (ansi or oracle standard, oracle is default.) Pro*C程序开发运行流程 Pro*C程序开发运行流程 % vi a.pc % proc a.pc % gcc -o a a.c -lclntsh -lc Compare Pro*C and it’s C code #includestdio.h EXEC SQL BEGIN DECLARE SECTION; char
文档评论(0)