linux环境下学习使用pro*c/c++工具

时间:2022-09-25 23:59:01

1.proc是oracle用来预编译嵌入SQL语句的c程序。

2.如何使用proc工具

在Linux环境下,首先确保gcc编译器正常使用,安装oracle数据库或者客户端,一般就会默认安装pro*c/c++工具。确保proc正常使用需要配置以下环境变量,这些环境变量一般配置在(.profile)文件里,修改.profile文件后要执行(source .profile)或(. .profile)

 ORACLE_BASE=/suseDba/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.
ORACLE_SID=orcl_test
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$LD_LIBRARY_PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH

3.环境配置好以后就可以编程练习,首先写一个proc 将要预编译的程序,命名为login.pc

 oracle@suse:~/proctest> cat login.pc
#include <stdio.h>
#include "sqlca.h" EXEC SQL BEGIN DECLARE SECTION;
char user[] = "scott";
char pass[] = "scott";
EXEC SQL END DECLARE SECTION; int main(void)
{
EXEC SQL CONNECT :user IDENTIFIED BY :pass; /**连接数据库**/ if(sqlca.sqlcode == )
printf("success!\n");
else
printf("error!\n"); EXEC SQL COMMIT RELEASE;  /**释放数据库连接**/ return ; }

用proc 预编译 login.pc

oracle@suse:~/proctest> proc login.pc

Pro*C/C++: Release 11.2.0.1. - Production on 星期二 5月  :: 

Copyright (c) , , Oracle and/or its affiliates.  All rights reserved.

系统默认选项值取自于:  /suseDba/oracle/product/11.1./precomp/admin/pcscfg.cfg

oracle@suse:~/proctest> ls
login.c login.lis login.pc

用gcc 编译 login.c

oracle@suse:~/proctest> gcc login.c -o login -I $ORACLE_HOME/precomp/public -L $ORACLE_HOME/lib -l clntsh
oracle@suse:~/proctest> ls
login login.c login.lis login.pc
oracle@suse:~/proctest> ./login
success! -I 指定头文件路径, -L 指定库路径, -l 指定链接动态库名称