访问oracle数据库提示"unable to load libclntsh.so"(100分)

  • 主题发起人 主题发起人 jackyguan
  • 开始时间 开始时间
J

jackyguan

Unregistered / Unconfirmed
GUEST, unregistred user!
访问oracle数据库提示"unable to load libclntsh.so",我使用db express,设置好连接的时候出现以上提示。我使用kylix3,直接拷贝oracle8.0.5使用,非安装,但是使用自带的sqlplus可以连接数据库,以上所说的so文件在oracle的lib目录也存在,而且拷贝到/lib /usr/lib和/usr/local/kylix3/bin中都是这样,我是第一次kylix3连接oralce,有事么地方不对的去,请指教,下面详细描述我的尝试过程:
我使用root用户操作oracle的,我已经在.bashrc中添加了ORALCE_HOME 和 ORACLE_TOWTASK两个变量,而且TNS也已经配置正确,一句话,我到目录$ORALCE_HOME/bin中,直接执行sqlplus并登陆可以进入到数据库操作,而且我使用proC编译也可以通过的。我相信TNS也没有问题,如果TNS有问题的话提示应该不是这样的。至于环境变量的话,我不知道还有什么重要的变量,我想说明的是我的ORACLE客户端并非安装的,是拷贝过来的,版本8.0.5,只要设置以上的两个变量和tns就可以直接访问数据库了。
我也装了ODAC而且试过,最新版本的,我也以为应该可以了,结果连接的时候也是提示同样的错误。我很奇怪,不是说完全不用oracle支持的吗?真的好奇怪,我在大富翁论坛也发现很多朋友提出我这样的问题,包括设置path ld_library_path等,都试过,都是一样的。
 
没有兄弟可以回答一下吗?
 
我试了一下,使用dbexpress支持的几个连接设置,我选择连接的时候都会出现vendor library 不能load的情况,当然不同的数据库的"vendor library"都不同名称,这是何解呢?
 
忙了几天,今天可以静下来。我受到一个证实可以的project了,事实证明跟我的kylix3没有关系,因为我编译那个工程文件也是一样,当然我更该了parameter,其实改不改都没有关系。后来我试了一下mysql的driver,开始也是说不能load,我检查我的系统确实没有,但是有mysqlclient.so.10,是一个link,指向mysqlclient.so.10.0.0,我更改了一下connect中vendor library为mysqlclient.so.10,结果可以出现登陆窗口,但是mysqlclient.so.10.0.0就出同样的错误,于是我用ldconfig -v查看一下,可能只有这个mysqlclient.so.10才能够作为共享,源文件不行,当然我设置的权限是足以可以使用的,就是说跟link的权限一样。我使用这种办法继续修改我的oracle,这么样都是不行,我使用了包括ora805/oracle10g instant client 都不行,vendor library 分别为libclintsh.so.1.0和libclntsh.so.10.0,现在我认为是我的vendor library不行的。请正在使用可以的兄弟把您的$oracle_home/lib中的文件发给我好吗?我的qq:290070953,谢谢!
 
后退
顶部