免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4310 | 回复: 12

请教个调用oci的问题(已经解决,不过有个新疑问) [复制链接]

论坛徽章:
0
发表于 2006-08-30 19:58 |显示全部楼层
请问一下,如果要在UNIX调用oci的oopen等函数,应该连接哪个库?谢谢

编译错误如下:
$ aCC +DD64 -DCHINESE -D__hpux__ -mt -DORACLE -g -o myoci myoci.o -L. -L/oracle/app/oracle/product/9.2.0.1/lib -L/oracle/app/oracle/product/9.2.0.1/rdbms/lib -lclntsh -lc
                     
ld: Unsatisfied symbol "oerhms(cda_def *,short,unsigned char *,int)" in file myoci.o
ld: Unsatisfied symbol "oexec(cda_def *)" in file myoci.o
ld: Unsatisfied symbol "oparse(cda_def *,unsigned char *,int,int,unsigned int)" in file myoci.o
ld: Unsatisfied symbol "olog(cda_def *,unsigned char *,unsigned char *,int,unsigned char *,int,unsigned char *,int,unsigned int)" in file myoci.o
ld: Unsatisfied symbol "ofen(cda_def *,int)" in file myoci.o
ld: Unsatisfied symbol "odefin__FP7cda_defiPUcN32PsT3N22PUsT11" in file myoci.o
ld: Unsatisfied symbol "oopen(cda_def *,cda_def *,unsigned char *,int,int,unsigned char *,int)" in file myoci.o
ld: Unsatisfied symbol "ologof(cda_def *)" in file myoci.o
8 errors.

#################################################
在头文件中加入<oci.h>
连接时
改成
$ aCC  -DCHINESE -D__hpux__ -mt -DORACLE -g -o myoci myoci.o -L. -L/oracle/app/oracle/product/9.2.0.1/lib32 -L/oracle/app/oracle/product/9.2.0.1/rdbms/lib -lclntsh -lc
用32位的东东。这样就能顺利编译连接通过,并能运行。
如果只加<oci.h>
还是这样连接,
$ aCC +DD64 -DCHINESE -D__hpux__ -mt -DORACLE -g -o myoci myoci.o -L. -L/oracle/app/oracle/product/9.2.0.1/lib -L/oracle/app/oracle/product/9.2.0.1/rdbms/lib -lclntsh -lc
能够通过,但是不能正常运行。老是core,这个问题怎么解决?

[ 本帖最后由 hanren 于 2006-9-3 19:28 编辑 ]

论坛徽章:
0
发表于 2006-08-30 20:02 |显示全部楼层
好久没用oci编程了,忘的差不多了。
lz可以参考一下oracle下的例子

论坛徽章:
0
发表于 2006-08-30 20:08 |显示全部楼层
原帖由 jeffwang8001 于 2006-8-30 20:02 发表
好久没用oci编程了,忘的差不多了。
lz可以参考一下oracle下的例子



那些例子都是windows下的,主要不知道要连接那个库。

论坛徽章:
0
发表于 2006-08-30 20:18 |显示全部楼层
如果client端安装完全的话直接-locci就行了 ^_^

论坛徽章:
0
发表于 2006-08-31 13:28 |显示全部楼层
原帖由 cmh_2003 于 2006-8-30 20:18 发表
如果client端安装完全的话直接-locci就行了 ^_^



试过了,不行。

论坛徽章:
0
发表于 2006-08-31 16:20 |显示全部楼层
-locci -lclntsh再试试,你的是9i吗?

论坛徽章:
0
发表于 2006-08-31 16:31 |显示全部楼层
原帖由 cmh_2003 于 2006-8-31 16:20 发表
-locci -lclntsh再试试,你的是9i吗?


oci和occi是一样的?
头文件也包含 <occi.h>


只用过occi

论坛徽章:
0
发表于 2006-08-31 17:45 |显示全部楼层
-lntsl肯定要用

如果是用vc编译,在配置里面把lib的目录指向 oracle目录下面的lib
一定要确定安装的时候oci安装好了
因为oci不是默认选项

论坛徽章:
0
发表于 2006-08-31 17:57 |显示全部楼层
-L$ORACLE_HOME/rdbms/lib -L$ORACLE_HOME/rdbms/stubs -L$ORACLE_HOME/lib -lclntsh -I$ORACLE_HOME/rdbms/public -I$ORACLE_HOME/rdbms/demo 试试

论坛徽章:
0
发表于 2006-08-31 20:11 |显示全部楼层
原帖由 gooderfeng 于 2006-8-31 16:31 发表


oci和occi是一样的?
头文件也包含 <occi.h>


只用过occi

请教一下这两个头文件有什么不同,我只用过 #include<oci.h>就可以了啊 我用的是9i的服务器端
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP