Pro*C/C++简单介绍

  Pro*C/C++与ORACLE密不可分,谈Pro*C/C++之前先从ORACLE谈起对Pro*C/C++的理解会非常清晰。
ORACLE是一个大型商用数据库系统,为了和外部应用程序很好的交互,ORACLE数据库管理系统提供了三种访问数据库的方法:
1、用SQL*Plus,它用SQL命令以交互的应用程序访问数据库;
2、用第四代语言应用开发工具开发的应用程序访问数据库,这些工具有SQL*Froms,QL*Reportwriter,SQL*Menu等;
3、利用在第三代语言内嵌入的SQL语言或ORACLE库函数调用来访问。
  Pro*C就属于第三种开发工具之一, 它把过程化语言C/C++和非过程化语言SQL最完善地结合起来,具有完备的过程处理能力,又能完成任何数据库的处理任务,使用户可以通过编程完成各种类型的数据交互。除C/C++外ORACLE还支持在其它几种高级语言中内嵌入SQL语句,它们是COBOL,Ada,PASCAL,PL/I等,这些语言被ORALCE称之为宿主语言,用它们开发的程序就称为PRO* 程序,如PRO*COBOL等。
  看到这里,我们就知道了Pro*C/C++的来由,那什么是Pro*C/C++?简单的说,它是一种编程工具,是一种预编译器,是ORACLE公司提供的专门为ORALCE数据库应用的通过在C/C++中嵌入SQL语句而开发出的应用程序。那么Pro*C/C++是C/C++语言与ORACLE的接口,这个接口的中间语言是SQL,它通过Pro*C/C++编译器被转换成C/C++程序使C/C++程序直接调用ORACLE的C/C++库与ORACLE交互。
  C/C++编译器不能直接处理嵌入到C/C++中的SQL语句,而是通过Pro*C/C++的预处理器将这些SQL转换成一个C/C++编译器能够识别的C/C++函数 (这些函数是ORACLE提供给用户的), 预处理后的C/C++程序将不再包含SQL,而是标准的C/C++语言。之后它再由C/C++编译器比如GCC编译并连接成可执行程序,当然连接时要用到相应的ORACLE提供的C/C++库。Pro*C/C++并不提供C/C++程序的编译,而只是起到一个转换作用。
  另外,Pro*C/C++的开发可以用任何文本编辑工具编写,它的软件被包含在ORACLE的客户端软件中,安装ORACLE时即可选择安装。
Pro*C/C++与ORACLE非常的密不可分,它是C/C++与ORACLE的便捷通道,是与ORALCE交互性能最好的方式,是ORACLE提供的一个非常好的工具,当然它不能使用在其它任何数据库上。

时间: 2025-01-12 11:38:49

Pro*C/C++简单介绍的相关文章

iOS开发拓展篇-XMPP简单介绍

iOS开发拓展篇-XMPP简单介绍 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容 有许多的IM系统,如AOL IM.Yahoo IM. MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议 协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那么应当可以实现各个IM之间的直接通讯,为了创建即时通讯的统一标准,目前已

iOS开发——网络编程OC篇&(一)XMPP简单介绍与准备

XMPP简单介绍与准备 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容. 有许多的IM系统,如AOL IM.Yahoo IM. MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议. 协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那么应当可以实现各个IM之间的直接通讯,为了创建即时通讯的统一标准,目前已经出现过

python的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通

javascript的return语句简单介绍

javascript的return语句简单介绍:return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,有个清晰的把握是非常有必要的.下面就结合实例简单介绍一下return语句的作用.一.用来返回控制和函数结果:通常情况,return语句对于一个函数是很有必要的,因为往往需要函数在一系列的代码执行后会得到一个期望的返回值,而此值就是通过return语句返回,并且将控制权返回给主调函数.语法格式: return 表达式 代码实例如下: function add(){

Object-c集合的简单介绍

一.简单介绍 NSArray/NSMutableArray NSSet/NSMutableSet NSDictionary/NSMutableDictionary NSArray.NSSet.NSDictionary是不可变的,创建的时候初始化 NSMutableArray.NSMutableSet.NSMutableDictionary是可变的 二.使用介绍 NSArray是有序的数组 NSMutableArray *myArray=[[NSMutableArray alloc] init];

plsql的环境与介绍:环境的搭建和plsql的简单介绍

PLSQL编程 1.环境的搭建 (1)创建一个存储表空间 SQL> conn /as sysdbaConnected. SQL> create tablespace plsql datafile '/u01/oracle/oradata/ORCL/plsql01.dbf' size 1G; Tablespace created. (2)创建PLSQL用户SQL> create user plsql identified by plsql default tablespace plsql;

CSS之box-sizing的用处简单介绍

前几天才发现有 box-sizing 这么个样式属性,研究了一番感觉很有意思, 通过指定容器的盒子模型类型,达到不同的展示效果 例如:当一个容器宽度定义为 width:100%;  之后,如果再增加 padding 或者 border 则会溢出父容器,是向外扩张的 如果使用该样式,指定为 box-sizing: border-box; 则 padding 和 border 就不会再溢出,而是向内收缩的,这个效果感觉非常实用, 特别是 input 和 textarea 等 现在设置 100% 再直

【玩转微信公众平台之七】 PHP语法简单介绍

经过多篇的努力,我们终于成为了微信公众平台的开发者.但是别高兴的太早,就跟修真小说一样:修炼多年武破虚空,飞升到仙界后本以为成为了天仙即可跳出三界外,不在五行中.可实际到了仙界才发现,成仙只是修行的第一步......没错,成为开发者也才只是第一步,因为现在你的微信公众平台还没有任何功能,说难听点就是小白,说好听点就是白马王子,说可爱点就是小白白,说黄色点就是洗白白,说...----------------要想在微信公众平台添加功能,那就需要写代码:既然说到写代码,那么肯定是要用php(如果用AS

Zookeeper简单介绍

转自:ZooKeeper学习第一期---Zookeeper简单介绍 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术--分布式协调技术.那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果.这时,有人可能会说这个简单,写一个调 度算法就轻松解决了.说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解.如果这些进程全部是跑在一台机上的