Pro*C把过程化语言C和非过程化语言SQL最完善地结合起来,具有完备的过程处理能力,又能完成任何数据库的处理品任务,使用户可以通过编程完成各种类型的报表。在Pro*C程序中可以嵌入SQL语言,利用这些SQL语言可以完成动态地建立、修改和删除数据库中的表,也可以查询、插入、修改和删除数据库表中的行, 还可以实现事务的提交和回滚。在Pro*C程序中还可以嵌入PL/SQL块, 以改进应用程序的性能, 特别是在网络环境下,可以减少网络传输和处理的总开销。
安装了oracle的pro*C/C++后,代码(后缀名一般为.pc)可以利用pro*C提供的工具proc.exe预编译为.c/.cpp文件,然后在利用C/C++的编译工具编译连接成可执行代码。例如:
* 预编译 proc test.pc
* 编译(windows) cl -o test F:/test.c /link %ORACLE_HOME%/precomp/lib/oraSQL10.lib
命令行编译切换调试都比较麻烦,在VC++中设置"自定义编译步骤"可以在VC++中编辑pro*C文件,具体需要做下面几个设置:
1. 加入oraSQL10.lib(名字随oracle版本变化),现在project--settings---linker,列表中加入oraSQL10.lib.(这个文件在%ORACLE_HOME%/precomp/lib中)
2. 加入pro*C相关的头文件,VC的tools--options--directory,选include files,加上%ORACLE_HOME%/precomp/public)
3. 工程中建立pro*c文件,右键该文件--设置(或project--setting--Custom Build),
command框中加入:
call vcvars32.bat //设置VC编译环境
proc iname="$(InputDir)/$(InputName).pc" include="%MSVCDIR%/include" include="$(MSDEVDIR)/../vc98/include" code=cpp parse=partial
output框中加入:
$(InputDir)/$(InputName).cpp
这样就可以右键pro*C文件--编译输出proc预编译好的.cpp或.c到但前文件夹,导入.cpp文件到工程中即可。