otl接口实现和编译过程中,由于对宏定义什么的不太懂,所以花费了较长的时间,这只是简单实现otl与数据库连接但没有任何操作的例子,记下,回头忘了可以来看下。
首先在linux环境命令下输入命令:>>vi .bash_profile
输入相应语句使其为:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_BASE=/oracle/product/10.2.0/db_1; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE; export ORACLE_HOME
LD_LIBRARY_PATH=.:../commonlib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH:/opt/ldap/lib:/usr/lib:/usr/local/lib:/home/tangyf/HSBOSS/IT_CODE/007.HCNBOSS/21.cpp/dev/lib; export LD_LIBRARY_PATH
LIBPATH=$ORACLE_HOME/lib:/usr/lib/:/usr/local/lib:$LIBPATH; export LIBPATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM LD_LIBRARY_PATH
PATH=$PATH:/usr/bin:/usr/local/bin/:/bin:/etc:/usr/sbin:.:${HOME}/shell:${HOME}/tool:$ORACLE_HOME/bin
export PATH
export LLOGTIMEZONE=1
PS1="[\`pwd\`]$"
export PS1
写完保存之后,输入命令:>>source .bash_profile,若没报错,说明可以用了。
这是连接数据库大代码:
#include
using namespace std;
#define OTL_ORA10G
#include "otlv4.h"
otl_connect db;
int main()
{
try{
otl_connect::otl_initialize(); //初始化OCI环境
db.rlogon("sm/sm");
}
catch(otl_exception& p){
cerr<
cerr<
cerr<
}
db.logoff(); //断开与oracle的连接
return 0;
}
>>g++ -o test1 test1.cpp -L$ORACLE_HOME/lib -L$ORACLE_HOME/rdbms/lib -I$ORACLE_HOME/rdbms/public -I$ORACLE_HOME/rdbms/demo -lclntsh