HPUNIX如何编译OCI的C程序,需要带哪些参数?

和平战马 2013-12-03 10:11:36
HPUNIX如何编译OCI的C程序,需要带哪些参数?
下面程序编译通过,但运行的时候报错,不知道什么原因,请大侠指导!

编译:
cc -g ociuldr.c -I/home/oracle/product/10.2.0/rdbms/demo -I/home/oracle/product/10.2.0/rdbms/public -I/home/oracle/product/10.2.0/plsql/public -I/home/oracle/product/10.2.0/network/public -I/home/oracle/product/10.2.0/precomp/public -L/home/oracle/product/10.2.0/lib -L/home/oracle/product/10.2.0/rdbms/lib -lpthread -lnsl -locijdbc10 -lclntsh -mt +DD64 -lpthread -lrt -D_REENTRANT -D_RWSTD_ALLOCATOR -c
链接:
cc -g ociuldr.o -I/home/oracle/product/10.2.0/rdbms/demo -I/home/oracle/product/10.2.0/rdbms/public -I/home/oracle/product/10.2.0/plsql/public -I/home/oracle/product/10.2.0/network/public -I/home/oracle/product/10.2.0/precomp/public -L/home/oracle/product/10.2.0/lib -L/home/oracle/product/10.2.0/rdbms/lib -lpthread -lnsl -locijdbc10 -lclntsh /home/app/test/libs/occi/dboper.a -mt +DD64 -lpthread -lrt -D_REENTRANT -D_RWSTD_ALLOCATOR -g -o Ociuldr

$ gdb Ociuldr
HP gdb 6.1 for HP Itanium (32 or 64 bit) and target HP-UX 11iv2 and 11iv3.
Copyright 1986 - 2009 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 6.1 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for warranty/support.
..
(gdb) run user=sum_hz/123@oratest query="select * from rpt_comm_cm_cust_zhbtest"
Starting program: /home/app/zhbtest/Ociuldr/Ociuldr user=sum_hz/123@oratest query="select * from rpt_comm_cm_cust_zhbtest"
warning: Load module /home/oracle/product/10.2.0/lib/libocijdbc10.so has been stripped.
Debugging information is not available.

warning: Load module /home/oracle/product/10.2.0/lib/libclntsh.so.10.1 has been stripped.
Debugging information is not available.

warning: Load module /home/oracle/product/10.2.0/lib/libnnz10.so has been stripped.
Debugging information is not available.


Program received signal SIGSEGV, Segmentation fault
si_code: 1 - SEGV_MAPERR - Address not mapped to object.
0x9fffffffbcfbe110:1 in real_malloc+0x1f1 () from /usr/lib/hpux64/libc.so.1
(gdb) where
#0 0x9fffffffbcfbe110:1 in real_malloc+0x1f1 () from /usr/lib/hpux64/libc.so.1
#1 0x9fffffffbcfbd6e0:0 in _malloc+0x1a0 () from /usr/lib/hpux64/libc.so.1
#2 0x9fffffffbcfc8ba0:0 in malloc+0x160 () from /usr/lib/hpux64/libc.so.1
#3 0x9fffffffbce65a00:0 in search+0x940 () from /usr/lib/hpux64/libc.so.1
#4 0x9fffffffbce668d0:0 in getcwd+0x70 () from /usr/lib/hpux64/libc.so.1
#5 0x9fffffffbe115360:0 in snlfncdir+0xa0 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#6 0x9fffffffbdfd3140:0 in nigini1+0x1b0 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#7 0x9fffffffbdfd7760:0 in osncon+0x2a0 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#8 0x9fffffffbda09740:0 in kpuadef+0x80 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#9 0x9fffffffbdc37fe0:0 in upiini+0x420 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#10 0x9fffffffbdbf6f80:0 in upiah0+0x80 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#11 0x9fffffffbdbf7350:0 in upiahm+0x50 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#12 0x9fffffffbdc0d740:0 in <unknown_procedure> + 0xfe0 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#13 0x9fffffffbdc11cc0:0 in upilogc+0x1a0 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
---Type <return> to continue, or q <return> to quit---
#14 0x9fffffffbdc11b00:0 in upilog+0xa0 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#15 0x9fffffffbdc3d720:0 in ocilog+0xe0 ()
from /home/oracle/product/10.2.0/lib/libclntsh.so.10.1
#16 0x400000000000bd70:0 in LogonDB (lda=0x9fffffffffff4fe0,
username=0x9fffffffffff5060 "sum_hz/123@oratest",
password=0x0, mode=0) at ociuldr.c:92
#17 0x4000000000016880:0 in main (argc=3, argv=0x9ffffffffffff210)
at ociuldr.c:939
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
和平战马 2013-12-04
  • 打赏
  • 举报
回复
看来问题无法解决了!
和平战马 2013-12-03
  • 打赏
  • 举报
回复
操作系统是64位,只是连接的时候OCCI是用-locci这个参数,连接OCI的时候改为-locijdbc10这个参数,编译才能通过。 所以想确定是不是链接的时候参数不对导致的
和平战马 2013-12-03
  • 打赏
  • 举报
回复
难道用HP服务器的公司很少吗!有没有大侠知道啊!
图灵狗 2013-12-03
  • 打赏
  • 举报
回复
没有HPUNIX环境,帮你顶一下!
引用 1 楼 zhan_horse 的回复:
操作系统是64位,只是连接的时候OCCI是用-locci这个参数,连接OCI的时候改为-locijdbc10这个参数,编译才能通过。 所以想确定是不是链接的时候参数不对导致的

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧