首页 > Oracle Retail > PRO*C学习指南

PRO*C学习指南

2008年10月10日 发表评论 阅读评论

PROC 技术简介

 

 

什么是PROCPRO*C

ORACLE支持六种高级语言中内嵌入SQL语句,或ORACLE库函数调用来访问数据库。它们是CFORTRANCOBOLAdaPASCALPL/I等,这些语言称之为宿主语言,用它们开发的程序就称为PRO*程序,如PRO*CPRO*COBOL等。

我们可以定义PRO*C程序为:通过在过程化编程语言C/C++中嵌入SQL语句而开发出的应用程序。

 

PROCOracle数据库

ORACLE数据库管理系统中,有三种访问数据库的方法:

1.       SQL*Plus,它有SQL命令以交互的应用程序访问数据库;

2.       用第四代语言应用开发工具开发的应用程序访问数据库,这些工具有SQL*FromsQL*Reportwriter,SQL*MenuORACLE*FORMS等;

3.       利用在第三代语言内嵌入的SQL语言或ORACLE库函数调用来访问。

Pro*C就属于第三种开发工具之一,它把过程化语言C和非过程化语言SQL最完善地结合起来,具有完备的过程处理能力,又能完成任何数据库的处理品任务,使用户可以通过编程完成各种类型的报表。

 

PROC工作原理

PRO*C应用程序的开发和运行的基本步骤类似于C程序,唯一不同之处是在进行C编译之前需要进行预编译。

程序员用相应的高级语言编写嵌入SQL语句的PRO源程序(若用C语言则称为 PROC源程序),然后运行相应的预编译程序,把嵌入的SQL语句转换为标准的Oracle调用并生成目标源程序,即纯高级语言格式的源程序,最后将这些源程序加入用户的程序中调用。

 

 

Oracle预编译程序提供如下功能:

l         能用六种通用的高级程序设计语言中的任何一种编写应用程序。

l         遵循ANSI标准,在高级语言中嵌入SQL语句。

l         可采用动态SQL方法,让程序在运行时接受或构造一个有效的SQL语句。

l         实现Oracle内部数据类型和高级语言数据类型之间的自动转换。

l         可通过在应用程序中嵌入PLSQL事物处理块来改进性能。

l         能在程序行和命令行上指定所需要的预编译可选项,并可在预编译的过程中改变它们的值。

l         能全面检查嵌入的SQL数据操纵语句和PLSQL块的文法和语义。

l         可用SQLNet并行存取多个地点的Oracle数据库。

l         可把数组作为输入和输出程序变量使用。

l         能对应用程序中的代码段进行条件预编译。

l         提供了较强的异常处理功能。

 

PROC的优点

1.       它把过程化语言和非过程化语言结合,形成一种更强有力的开发工具。利用它可以 开发出满足种复杂的应用程序,还可以引用 窗口技术和鼠标技术等。

2.       可以使开发的应用程序具有管理系统资源使用(如内存分配)、SQL语句执行和指示器等能力。

3.       提高了应用程序的执行速度,因为它把SQL语句翻译成相应的ORACLE库函数调用。特别是在网络环境下,可以减少网络传输和处理的总开销。

 

 

学习PROC所需的相关知识

1、  C/C++语言基础知识

2、  Oracle技术,如SQLPL/SQL

有用的资料:

from 《Oracle背份策略的补充》
http://www.huihoo.org/joyfire.net/5.html

Oracle数据库开发(一).Windows下配置使用ProC

http://blog.csdn.net/liwei_cmg/archive/2007/06/06/1641330.aspx

Oralce数据库开发(二).Linux下配置使用ProC

http://blog.csdn.net/liwei_cmg/archive/2007/06/07/1643023.aspx

Rooms Information Pro*C Sample: Invoking Java Stored Procedure Using Pro*C

http://www.oracle.com/technology/sample_code/tech/java/jsp/samples/proccalljsp/readme.html

学习PROC+C教程.rar

服务器的test_PROC目录下。服务器IP:192.168.11.41

 

 

关于作者:

昵称:wenjian
档案信息:
联系方式:你可以通过wenjian.zhang@hand-china.com联系作者
点击查看发表过的所有文章...
本文永久链接: http://blog.retailsolution.cn/archives/221

 

 

对本文的评价:

 

 

分类: Oracle Retail 标签:
  1. wenjian
    2008年10月13日16:25 | #1

    使用PROC开发的环境配置

    环境变量设置
    在开发前必须确定以下环境变量已经设定:
    $ORACLE_HOME =/d01/app/oracle/product/10.2.0/db_1
    $LD_LIBRARY_PATH=$ORACLE_HOMEs/lib
    $PROC=ORACLE_HOME/bin/./proc

    编译文件基本步骤
    1. 把makefile.proc文件放到你要编译的文件所在目录下(已上传放在/test_PROC目录下)
    2. 运行make命令
    make FileName=”你的文件名” -f 文件路径/makefile.proc
    注意FileName不包含后缀,如果你要编译的文件叫test.pc则FileName=”test”
    3. 会在同一目录下生成相应的c文件和最终可执行文件

    存在的问题:
    1.用proc编译生成的C文件存在语法错误,初步怀疑是服务器上库文件包含问题(本机上测试未发现问题,本机上生成的C文件在服务器上用gcc编译正常)
    2.makefile未设生成的C文件的路径参数及最终可执行文件的输出参数,因此这些文件都产生在和pc源文件在同一目录下,比较杂乱。有待改进。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.