`

什么是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提供的一个非常好的工具,当然它不能使用在其它任何数据库上。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics