proc编译出错的解决

  安装好proc驱动程序后不能用的解决方法!

  在安装好ORACLE9i后,用proc进行编程的时候,报size_t找不到,等等乱七八糟的错误。不只为何。后多方查找资料,发现要修改如下文件$ORACLE_HOME/precomp/admin/pcscfg.cfg.打开这个文件确认里面的路径设置正确。才可以,我的机器修改后的内容如下

  sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc-lib/i386-redhat-linux/3.2/include)

  ltype=short

  参照本机环境修改为正确的路径后,proc程序编译通过。

  在用TUXEDO进行BuildClient的时候报错undefined reference to `sqlca' !经过了2天的折磨,四处到网上找啊找啊,也找不到。最后分析就是连接的头文件不正确。网上有资料说TUXEDO的include下面有同名的头文件,需要把他们改名,分别是sqlca.h,sqlcode.h,sqlda.h,把它们改名后,编译问题依旧。苦恼的不得了的时候,我们同事(老王)突然发现在/usr/include路径下面还有一堆sql*.h哦,晕死了。把sqlca.h改名后编译通过,后来把所有的sql*.h统统删除了,问题解决了。还有啊,就是TUXEDO的那几个SQL的LIB文件,也要记得改名哦。

  总结:

  这两天在网上搜索的时候,发现出现这种问题的人还真不少啊,可是没有找到一个解决办法,有一个人把源文件里面的include<sqlca.h>改成include<SQLCA.H>问题竟然解决了,不知道是怎么回事,不过通过这次故障的处理,发现如果proc可以正确编译,可以生成*.o文件,在链接的时候出现错误就一定是头文件的问题。这个时候就要查找头文件是否包含的正常。把多于的去掉,让编译器直接去链接ORACLE的库和头文件就可以了。

  我的.bash_profile文件内容

TUXDIR=/home/bea/tuxedo8.0
export TUXDIR

APPDIR=$HOME/tuxapp
export APPDIR

TUXCONFIG=$HOME/conf/tuxconfig
export TUXCONFIG

ULOGPFX=$HOME/log/ULOG
export ULOGPFX

TLOGDEVICE=$HOME/log/TLOG
export TLOGDEVICE

ORACLE_HOME=/home/oracle/product/9.2.0
export ORACLE_HOME

ORACLE_SID=test
export ORACLE_SID

NLS_LANG=American_America.ZHS16CGB231280
        export NLS_LANG

        LIBPATH=$ORACLE_HOME/lib:$TUXDIR/lib:/usr/lib
        export LIBPATH

        LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$ORACLE_HOME/rdbms/lib:$TUXDIR/lib
        export LD_LIBRARY_PATH

        SHLIB_PATH=$LD_LIBRARY_PATH
        export SHLIB_PATH

        BCPPATH=$ORACLE_HOME/bin
        export BCPPATH

        LANG=C
        export LANG

        WEBJAVADIR=$TUXDIR/udataobj/webgui/java
        export WEBJAVADIR

        BDMCONFIG=$HOME/conf/dbmconfig;
        export BDMCONFIG;

        PATH=$TUXDIR/bin:$APPDIR:$PATH:$HOME/bin:$ORACLE_HOME/bin:/usr/sbin:/etc:.
        export PATH

        JAVA_HOME=/home/oracle/product/9.2.0/jdk
        export JAVA_HOME

        JAVAC=$JAVA_HOME/bin/javac
        export JAVAC

        PKG_CONFIG_PATH=/usr/lib/pkgconfig
        export PKG_CONFIG_PATH

        CLASSPATH=$JAVA_HOME/lib/tools.jar:.
        export CLASSPATH
        PATH=$PATH:$JAVA_HOME/jre/bin:$JAVA_HOME/bin:$ORACLE_HOME/lib:.
        export PATH