Heim > Datenbank > MySQL-Tutorial > Linux下OTL连接Oracle数据库

Linux下OTL连接Oracle数据库

WBOY
Freigeben: 2016-06-07 17:31:16
Original
1162 Leute haben es durchsucht

上面是一段很挫的OTL连接Oracle数据库代码,只有连接没有其它操作。但是我在编译时遇到了些问题:会产生一坨错误提示,但其实真正

Linux下OTL连接Oracle数据库

#include
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    }
    catch(otl_exception& p)
    { 
        cerr        cerr        cerr        cerr    }

    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)

推荐阅读:

OTL之Oracle开发总结 

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

linux

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage