zoukankan      html  css  js  c++  java
  • Sun Solaris Perl DBD Oracle

    今天遇到在

    Release: 5.10
    Kernel architecture: sun4u
    Application architecture: sparc
    Hardware provider: Sun_Microsystems
    Domain:
    Kernel version: SunOS 5.10 Generic_118833-36

    oracle客户端版本:

    file sqlplus
    sqlplus:        ELF 64-位 MSB 可执行 SPARCV9 版本 1,动态链接,没有除去

    perl版本

    perl -v

    This is perl, v5.8.3 built for sun4-solaris-thread-multi

    执行:perl dbi:oracle的程序提示:

    install_driver(Oracle) failed: Can't load '/opt/dc_perl/lib/site_perl/5.8.3/sun4-solaris-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1: perl: 致命的: libclntsh.so.9.0: 打开失败: 无此文件或目录 at /opt/dc_perl/lib/5.8.3/sun4-solaris-thread-multi/DynaLoader.pm line 229.
    at (eval 18) line 3
    Compilation failed in require at (eval 18) line 3.
    Perhaps a required shared library or dll isn't installed where expected

    在perl –V 找到相关的@INC目录

    /opt/dc_perl/lib/site_perl/5.8.3/sun4-solaris-thread-multi/auto/DBD/Oracle

    ls

    Oracle.bs     Oracle.h      Oracle.so*    Oracle.so.8*  Oracle.so.9*  dbdimp.h      mk.pm         ocitrace.h

    ldd Oracle.so
            libclntsh.so.9.0 =>      (文件没有发现)
            libnsl.so.1 =>   /usr/lib/libnsl.so.1
            libsocket.so.1 =>        /usr/lib/libsocket.so.1
            libgen.so.1 =>   /usr/lib/libgen.so.1
            libdl.so.1 =>    /usr/lib/libdl.so.1
            libsched.so.1 =>         /usr/lib/libsched.so.1
            libaio.so.1 =>   /usr/lib/libaio.so.1
            librt.so.1 =>    /usr/lib/librt.so.1
            libkstat.so.1 =>         /usr/lib/libkstat.so.1
            libm.so.1 =>     /usr/lib/libm.so.1
            libc.so.1 =>     /usr/lib/libc.so.1
            libmp.so.2 =>    /usr/lib/libmp.so.2
            libmd5.so.1 =>   /usr/lib/libmd5.so.1
            libscf.so.1 =>   /usr/lib/libscf.so.1
            libdoor.so.1 =>  /usr/lib/libdoor.so.1
            libuutil.so.1 =>         /usr/lib/libuutil.so.1
            libm.so.2 =>     /usr/lib/libm.so.2
            /platform/SUNW,Sun-Fire/lib/libc_psr.so.1
            /platform/SUNW,Sun-Fire/lib/libmd5_psr.so.1

    http://www.anysql.net/developer/perl_dbd_oracle.html 按照这个作者的指导说是Oracle客户端版本有和编译DBD:Oracle的客户端版本不一致导致,准备重新安装DBD:Oracle,但是主机上没有gcc…

    http://www.2cto.com/os/201109/103022.html 准备按照这篇文章的指导安装gcc,发现上面的程序包不能下载。(可能是和谐的网络所致)。

    于是手工在/usr/lib目录下准备创建libclntsh.so.9.0链接文件。

    中间还尝试过重其他主机拷一个Oracle目录,经测试也行不通。

    最后:

    开始创建指向64的的libclntsh.so.10.1了,一直提示是64位的异常。

    后来用root用户执行 : ln -s XXXX/lib32/libclntsh.so.10.1  /usr/lib/libclntsh.so.9.0

    居然能用了,当真是误打误撞。^_^

    ldd `which sysresv`

  • 相关阅读:
    JZOJ 100019.A
    idea突然无法智能提示了
    C基于 postgresql-devel 连接postgresql 数据库,实现增删改查的代码封装
    gcc 编译第三方库
    C 语言中的指针函数写法
    java 基于RXTX配置linux和window串口
    springboot 在windows 中打jar包运行正常, 但是在linux 环境中报错 加载不到主类
    求4 的余数
    win10 定时重启某个程序
    win10 使用ssh远程 linux机器并修改了hostname, 然后重新连接的时候连接不上, 但是其它机器可以远程上
  • 原文地址:https://www.cnblogs.com/wangn/p/3200893.html
Copyright © 2011-2022 走看看