免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1210 | 回复: 3
打印 上一主题 下一主题

帮忙看看这个问题,pro*c [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-14 14:20 |只看该作者 |倒序浏览
oraclesearch: error while loading shared libraries: libodm9.so: cannot open shared object file: No such file or directory

我就是最简单的连接oracle,然后查询
结果报这个错,而libodm9.so是位于$ORACLE_HOME/lib下的。

compile文件:

proc test.pc

gcc -I $ORACLE_HOME/precomp/public -c test.c

g++ -I $ORACLE_HOME/precomp/public -c main.cc

g++ -o test test.o main.o -L $ORACLE_HOME/lib -lclntsh

编译没错,执行就报上面的错。
test.h

#ifdef __cplusplus
extern "C" {
#endif
    int connectDB();
    int query();
#ifdef __cplusplus
}
#endif

下面是test.pc
#include <sqlca.h>
#include "test.h"

int connectDB (char * url,char * name)
{
    char user_pwd[20];
    memset(user_pwd,0,20);
    strcpy(user_pwd,"abc/aid13#");
    exec sql connect:user_pwd;

    if(sqlca.sqlcode ==0)
        return 1;
    else
        return -sqlca.sqlcode;
}

int query()
{
    exec sql begin declare section;
    int i_account_id=0;
    short indicator;
    exec sql end declare section;

    exec sql select i_account_id into :i_account_id:indicator from transaction where i_transaction_id=1052151818;
    if(indicator!=0)
        printf("not found");
    printf("indicator is %d\n",indicator);
    printf("i_account_id %d\n",i_account_id);
}

main.cc

#include <iostream>
#include <cstring>
#include "test.h"
using namespace std;

int main()
{
    int ret=connectDB();
    if(ret==1)
        cout<<"done"<<endl;
    else
        cout<<"damn"<<endl;

    query();
}

请高手帮忙看一下,多谢了。。。

论坛徽章:
0
2 [报告]
发表于 2006-11-14 14:34 |只看该作者

回复 1楼 seikoo 的帖子

看看$ORACLE_HOME/lib目录是否已经在文件/etc/ld.so.config中?
还有别的方法添加动态库的执行目录,我就知道这一种!
添好后执行一下:ldconfig
看看行不行!

论坛徽章:
0
3 [报告]
发表于 2006-11-14 14:37 |只看该作者
是什么操作系统?是不是环境变量LD_LIBRARY_PATH or SHLIB_PATH or LIBPATH 没有设置正确?

这几个环境变量用于指定程序运行时需要查找的动态库的路径。(不同的操作系统是用不同的环境变量)

论坛徽章:
0
4 [报告]
发表于 2006-11-14 17:19 |只看该作者
我找到原因了,是编译器报的错误,好像不准确
是我的数据库链接串不正确导致的。


谢谢楼上2位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP