Linux下OTL连接Oracle数据库
2013-06-25 00:09
309 查看
#include <iostream> using namespace std; #define OTL_ORA10G //不可缺少 #include "otlv4.h" //注意OTL头文件位置 otl_connect db; int main() { otl_connect::otl_initialize(); try { db.rlogon("user/passwd"); //连接本机数据库 if(db.connected) cout<<"Connected to Database"<<endl; } catch(otl_exception& p) { cerr<<p.msg<<endl; cerr<<p.stm_text<<endl; cerr<<p.sqlstate<<endl; cerr<<p.var_info<<endl; } db.logoff(); return 0; }
上面是一段很挫的OTL连接Oracle数据库代码,只有连接没有其它操作。但是我在编译时遇到了些问题:会产生一坨错误提示,但其实真正问题不多。具体如下:(PS:我的Oracle 10g已经正确的安装在本地)
1. 首先是提示找不到"oci.h", 这个文件其实位于$ORACLE_HOME/rdbms/public下,解决方法有多种,可以g++编译时使用"-I"头文件路径,我是把路径添加到了CPLUS_INCLUDE_PATH这个环境变量中
2.继续编译会有如下错误提示
undefined reference to `OCIServerDetach'
undefined reference to `OCIHandleFree'
这是因为没有连接libclntsh.so这个库文件,这个文件位于$ORACLE_HOME/lib下,知道原因解决方法就很简单了,命令如下
g++ otl_example.cpp -lclntsh -L$ORACLE_HOME/lib
3.编译没有错误了 ,运行则提示“error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory”
解决方法:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
至此,这个小程序就可以正常运行了。(我的ORACLE_HOME:/oracle/oracle/product/10.2.0/db_1)
相关文章推荐
- linux下使用otl开发oracle数据库程序
- linux的shell脚本中连接oracle数据库进行操作的方法
- Linux系统下连接Oracle数据库,创建新的数据库用户及分配权限
- 在LINUX上使用OCILIB连接ORACLE数据库失败的问题
- linux 下OTL连接SQLServer非配置版
- VS2010下使用otl连接到oracle数据库
- Linux 免安装oracle客户端软件 连接 oracle数据库
- linux环境下,连接另一台服务器的oracle数据库,常见问题详解
- linux下c++使用occi连接oracle数据库步骤,及出现的问题和解决
- 使用OCCI连接Linux下Oracle数据库
- Linux下oracle数据库连接问题
- Linux下PHP连接Oracle数据库
- linux下用C编写的OCI连接Oracle数据库程序代码
- php连接oracle数据库(linux)(转)
- windows使用plsql和sqlplus连接远程linux主机的oracle数据库
- 很郁闷--linux下c++连接oracle数据库
- oracle:unix(linux适用)环境下使用occi远程连接oracle数据库(新人教学版)---1
- oracle:unix(linux适用)环境下使用occi远程连接oracle数据库(新人教学版)---3
- Linux连接oracle数据库