在Unix平台上,
我想要用OCCI访问Oracle数据库要用到哪些头文件和库文件?我知道OCCI是C++接口的(OCI是基于C接口的)。
那么我要在Unix上准备通过OCCI的接口访问数据库的话(比如insert,update,delete之类的操作),
我需要用到哪些头文件,只要 #include <occi.h> 就可以吗?
我编译的时候要包含哪些库文件?
libocci.a就可以吗?
好像这样不行。
请各位大虾指点一下!!!!

解决方案 »

  1.   

    看一下:
    http://topic.csdn.net/u/20070827/09/6727d24b-3681-40fc-9b11-33c68c520764.html
      

  2.   

    LZ还是去UNIX版块去多问问吧。
      

  3.   

    两个库文件必须libclntsh.so, libocci.so
    头文件occi.h差不多
      

  4.   

    libclntsh.so是用来做什么呢,
    为什么一定要包含这个库文件呢?libclntsh.so, libocci.so是动态库,
    我用的是libocci.a,这个是静态链接库,
    应该是一样的,编译老通不过,郁闷啊。
      

  5.   

    OCCI 挑编译器,你的编译器及其版本在白名单里吗?
    贴出你的出错信息,可能对解决问题会有所帮助。
    ----------------------------------------------------------- 
    《征服C/C++企业软件开发核心技术》 
    主题词 unix/linux 多线程 网络通讯 数据库 内存排错和性能分析 
    http://www.china-pub.com/209150
      

  6.   

    我的Unix上编译器aCC的版本是:
    -------------------
    $ aCC --version
    aCC: HP ANSI C++ B3910B A.01.15-------------------我只是在include文件就报错---------------------
    #include <occi.h>
    using namespace std;
    using namespace oracle::occi;
    int main(int argc, char** argv)
    {
       // 什么也没有做

    --------------------编译报错:
    ------------------
    Error 173: "/opt/aCC/include/functional", line 110 # Redefined symbol 'times'; previously defined at
        ["/usr/include/sys/times.h", line 32].
        template <class T>
                 ^        
    Error (future) 600: "/alcatel/pms/ORACLE/include/occiCommon.h", line 269 # Type specifier is omitted;
        "int" is no longer assumed.
        typedef OCCI_STD_NAMESPACE::basic_string<utext> UString;
        ^^^^^^^                                                 
    Error 20: "/alcatel/pms/ORACLE/include/occiCommon.h", line 269 # ';' expected before '::'.
        typedef OCCI_STD_NAMESPACE::basic_string<utext> UString;
                                  ^^                            
    Error 448: "/alcatel/pms/ORACLE/include/occiCommon.h", line 522 # Operator '::' must be preceded by a
        name of a namespace or class; 'std' is neither.
          OCCI_STD_NAMESPACE::vector<OCCI_STD_NAMESPACE::string> &vect);
                                     ^^^^^^^^^^^^^^^^^^^^         
    ------------------