Oracle For HP_UX上,如何编译运行Proc(急,都分)

zhaojx9 2003-10-19 10:52:02
在HP_UX上装了Oracle,要编译运行Proc的程序,
请教Makefile文件如何写,最好有个成功抽库更新的例子.
万分感谢!!
...全文
30 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaojx9 2003-10-20
  • 打赏
  • 举报
回复
不好意思,昨天网断了,可以运行了!太感谢了!
mosaic 2003-10-19
  • 打赏
  • 举报
回复
你看看/opt/oracle/目录下有关lib的目录,是否有lib32目录,如果有的话,将makefile中的
-L$(ORACLEDIR)/lib 改成-L$(ORACLEDIR)/lib32即可
zhaojx9 2003-10-19
  • 打赏
  • 举报
回复
十分感谢楼上的大哥! 不过在make时,有报错:
/usr/ccs/bin/ld: /opt/oracle/lib/libclntsh.sl: Mismatched ABI. 64-bit PA shared library found in 32-bit link.
不懂,再次请教,先多谢了.
mosaic 2003-10-19
  • 打赏
  • 举报
回复
一个连接数据库的例子
/*procdemo.pc*/
#include <sqlca.h>
#include <string.h>
#include <stdio.h>
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20];
VARCHAR password[20];
VARCHAR dbname[20];
EXEC SQL END DECLARE SECTION;
void db_connect(char *user,char *pass,char *server)
{
strcpy((char *)username.arr,user);
username.len = strlen((char *)username.arr);
strcpy((char *)password.arr,pass);
password.len = strlen((char *)password.arr);
strcpy((char *)dbname.arr,server);
dbname.len = strlen((char *)dbname.arr);
EXEC SQL WHENEVER SQLERROR STOP;
EXEC SQL CONNECT :username
IDENTIFIED BY :password USING :dbname;
if (sqlca.sqlcode != 0)
{
printf("\nConnect Oracle Failed!i\n");
return;
}
else
printf("Connect oracle successfully\n");
}


/*demo.c*/
#include <sqlca.h>
#include <stdio.h>
extern void db_connect();
main()
{
db_connect("cash","cash","m1");
}

/*makefile*/
OBJECT =procdemo.c demo.c
ORACLEDIR=$(ORACLE_HOME)
all: clean ppcc demo
ppcc:
proc procdemo.pc
demo:
cc -o demo $(OBJECT) -I$(ORACLE_HOME)/precomp/public \
-L$(ORACLEDIR)/lib -lclntsh
clean:
rm -f procdemo.c demo

运行 ./demo

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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