最近研究PRO*C/C++ ,发现有几个问题一直困扰着我:
看问题之前首先看这样的两条命令
1、预编译命令:(myconn.pc是我编写的PROC程序)
proc iname=myconn.pc oname=myconn.c
2、编译命令:
cc -I${ORACLE_HOME}/precomp/public myconn.c -o myconn -L${ORACLE_HOME}/lib -lclntsh
问题一:
编译用C语言写的.pc文件 使用以上两条命令
如果要编译用C++写的.pc文件则使用以下两条命令
proc iname=myconn.pc oname=myconn.c code=cpp
c++ -I${ORACLE_HOME}/precomp/public myconn.c -o myconn -L${ORACLE_HOME}/lib -lclntsh
问题二:
预编译存储过程或PL/SQL块的时候必须要使用以下命令
proc iname=myconn.pc oname=myconn.c sqlcheck=full userid=demo/demo@orcl
或
proc iname=myconn.pc oname=myconn.c code=cpp sqlcheck=full userid=demo/demo@orcl
编译命令和以上一样
注意:调用存储过程 请使用EXEC SQL CALL procedure_name(:arg);
PL/SQL 请使用EXEC SQL EXCUTE
BEGIN
..........代码.....
END;
END-EXEC;