ociuldr在32位机器可以运行,但是在64位不能运行

 http://www.itpub.net/thread-1019442-1-1.html

ociuldr在linux下的问题

想在linux下使用的ociuldr,发现几个问题:

1.编译的是32位的,需要32 位的oracle 库文件,而我在64位上如下使用。

2.我下载了源程序。
URL  http://www.anysql.net/software/ociuldr.c

想自己编译看看。

打入
gcc ociuldr.c

弹出一大堆错误。或者我的编译有问题。

谢谢!
噢!找到了。

http://www.dbatools.net/experience/compile_oci_program.html

---------------------------------------------------------------------------------------------------------------------------------------------

目前测试在windows32位机器上可以运行,但是在windows64位机器上不能运行,

通过网络查找,在http://www.dbatools.net/experience/compile_oci_program.html 有提示

 

 

How to compile Oracle Call Interface (OCI) program?

Links: http://www.dbatools.net/experience/compile_oci_program.html

    On Linux/Unix we can use gcc to compile OCI source code. Use the following command to compile the text unload utility as 64 bit binary.

gcc -m64 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I${ORACLE_HOME}/rdbms/public -I${ORACLE_HOME}/rdbms/demo -L${ORACLE_HOME}/lib -lclntsh -o ociuldr.bin ociuldr.c

    I usually compile it as 32 bit executable file by the following command.

gcc -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I${ORACLE_HOME}/rdbms/public -I${ORACLE_HOME}/rdbms/demo -L${ORACLE_HOME}/lib32 -lclntsh -o ociuldr.bin ociuldr.c

    On IBM AIX, you need to use the following command to compile ociuldr to support 64 bit IO feature.

gcc -D_LARGE_FILES -I${ORACLE_HOME}/rdbms/public -I${ORACLE_HOME}/rdbms/demo -L${ORACLE_HOME}/lib32 -lclntsh -o ociuldr.bin ociuldr.c

    On windows, I will use Microsoft Visual C++ as compiler. Run the following command to compile it.

set ORACLE_HOME=c:/oracle/product/10.2.0
set INCLUDE=%LIB%;%ORACLE_HOME%/oci/include
set LIB=%INCLUDE%;%ORACLE_HOME%/oci/lib/msvc
cl /ML /Feociuldr.exe ociuldr.c oci.lib

    For the Pro*C compilation, you just need to change the include file path and library path.

 

 

 

 

 

你可能感兴趣的:(oracle,windows,command,Microsoft,include,compilation)