1.proc是oracle用来预编译嵌入SQL语句的c程序。
2.如何使用proc工具
在Linux环境下,首先确保gcc编译器正常使用,安装oracle数据库或者客户端,一般就会默认安装pro*c/c++工具。确保proc正常使用需要配置以下环境变量,这些环境变量一般配置在(.profile)文件里,修改.profile文件后要执行(source .profile)或(. .profile)
1 ORACLE_BASE=/suseDba/oracle 2 ORACLE_HOME=$ORACLE_BASE/product/11.1.0 3 ORACLE_SID=orcl_test 4 PATH=$ORACLE_HOME/bin:$PATH 5 LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$LD_LIBRARY_PATH 6 export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
3.环境配置好以后就可以编程练习,首先写一个proc 将要预编译的程序,命名为login.pc
1 [email protected]:~/proctest> cat login.pc 2 #include <stdio.h> 3 #include "sqlca.h" 4 5 EXEC SQL BEGIN DECLARE SECTION; 6 char user[] = "scott"; 7 char pass[] = "scott"; 8 EXEC SQL END DECLARE SECTION; 9 10 int main(void) 11 { 12 EXEC SQL CONNECT :user IDENTIFIED BY :pass; /**连接数据库**/ 13 14 if(sqlca.sqlcode == 0) 15 printf("success!\n"); 16 else 17 printf("error!\n"); 18 19 EXEC SQL COMMIT RELEASE; /**释放数据库连接**/ 20 21 return 0; 22 23 }
用proc 预编译 login.pc
[email protected]:~/proctest> proc login.pc Pro*C/C++: Release 11.2.0.1.0 - Production on 星期二 5月 12 18:06:26 2015 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 系统默认选项值取自于: /suseDba/oracle/product/11.1.0/precomp/admin/pcscfg.cfg [email protected]:~/proctest> ls login.c login.lis login.pc
用gcc 编译 login.c
[email protected]:~/proctest> gcc login.c -o login -I $ORACLE_HOME/precomp/public -L $ORACLE_HOME/lib -l clntsh [email protected]:~/proctest> ls login login.c login.lis login.pc [email protected]:~/proctest> ./login success! -I 指定头文件路径, -L 指定库路径, -l 指定链接动态库名称
时间: 2024-10-12 09:04:29