首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用occi为oracle db编写udf时出错

使用occi为oracle db编写udf时出错
EN

Stack Overflow用户
提问于 2017-05-12 15:43:43
回答 2查看 219关注 0票数 0

我正在尝试使用头occi.h代码编译cpp代码,我使用的代码是

代码语言:javascript
复制
#include <iostream>
#include <occi.h>

using namespace std;

int main(){

    oracle::occi::Environment* environment;
    oracle::occi::Connection *con;
    oracle::occi::Statement* stmt;
    oracle::occi::ResultSet* res;

    try
    {

        environment = oracle::occi::Environment::createEnvironment(oracle::occi::Environment::DEFAULT);
        con = environment->createConnection("sys", "root","xe");

        stmt = con->createStatement("select * from customers");
        res = stmt->executeQuery();

        while (res->next())
         std::cout<<res->getInt(1)<<"  "<<res->getString(2)<<std::endl;

        stmt->closeResultSet(res);
        con->terminateStatement(stmt);
        environment->terminateConnection(con);

    }catch(oracle::occi::SQLException &e){
        std::cout<<e.what();
    }

    return 0;
}`

当运行以下命令时,我得到以下错误:- g++ -I /root/instantclient_11_2/sdk/g++ -L -L $ORACLE/rdbms/lib cpp_db_conn.cpp

错误:- /tmp/ccjcKsxz.o:在函数main': udf.cpp:(.text+0x26): undefined reference tooracle::occi::Environment::createEnvironment(oracle::occi::Environment::Mode,void*,void* ()( void,unsigned ),void* ()(void,void*,unsigned ),void ()(void,void*)‘/tmp/ccjcKsxz.o:(.gcc_except_table+0x80):对“oracle的类型信息”的未定义引用::occi::SQLException’collect2: ld返回1个退出状态

EN

回答 2

Stack Overflow用户

发布于 2017-05-13 00:41:25

甲骨文::occi::连接:为什么你在这里有一个空格??\x{e76f}\x{e76f}?

票数 0
EN

Stack Overflow用户

发布于 2018-03-09 09:07:45

我可以告诉你我的案子。显然,这是一个有点错配的问题。

我的环境是一个“MicrosoftSDKV7.0”,默认使用64位编译器

不幸的是,我的oracle客户端是一个32位的版本,它的版本是实例化客户机-Basic-NT-12.1.0.2.0。

我和你犯了同样的错误。

所以,我把我的编译器改为32位。

代码语言:javascript
复制
setenv /x86

然后,所有的问题都消失了。

祝你今天愉快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43941702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档