请教怎么编译proc文件?

Youloveme 2001-11-28 05:44:55
proc编译成C文件后怎么用C编译?
需要加什么库吗?看过一位老兄说加:
cc -o test -g test.c
-L $ORACLE_HOME/lib -lclntsh -I $ORACLE_HOME/precomp/public
可是提示说没有libclntsh这个库?
郁闷中,那位老兄帮帮忙???
...全文
172 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Youloveme 2001-11-30
  • 打赏
  • 举报
回复
谢谢flowerofwind(现实很残酷) !
Youloveme 2001-11-30
  • 打赏
  • 举报
回复
我后来搞定了,
EXEC SQL DECLARE db_link_name DATABASE
是声明一个数据库连接,开始我以为是数据库连接的错误。后来发现不是。
我这样解决:
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR userpwd[30];
EXEC SQL END DECLARE SECTION;
strcpy(userpwd.arr,"long/pwd");
userpwd.len=strlen(userpwd.arr);
EXEC SQL WHENEVER SQLERROR DO sqlerror();
EXEC SQL CONNECT:userpwd
uje 2001-11-29
  • 打赏
  • 举报
回复
把你PROC例子下的MAKEFILE贴出来看看,连接文件的定义在那里有。
flowerofwind 2001-11-29
  • 打赏
  • 举报
回复
EXEC SQL DECLARE db_link_name DATABASE;
这句话什么意思?
flowerofwind 2001-11-29
  • 打赏
  • 举报
回复
加上servername 试试看
EXEC SQL CONNECT :usrid IDENTIFIED BY :password USING :servername;
Youloveme 2001-11-29
  • 打赏
  • 举报
回复
是指登陆oracle的用户名吗:我看了是对的!
连接数据库的部分代码:

EXEC SQL BEGIN DECLARE SECTION;
VARCHAR userid[20];
VARCHAR password[20];
EXEC SQL END DECLARE SECTION;

strcpy(userid.arr,"long");
userid.len=strlen(userid.arr);
strcpy(password.arr,"pwd");
password.len=strlen(password.arr);
strcpy(db_name.arr,"d:guan_ora7");
strcpy(db_name.arr,"d:guan_ora7");
EXEC SQL WHENEVER SQLERROR DO sqlerror();
EXEC SQL DECLARE db_link_name DATABASE;
EXEC SQL CONNECT:userid IDENTIFIED BY:password;
flowerofwind 2001-11-29
  • 打赏
  • 举报
回复
我想一定是你的login (connect) string错了,login (connect) string和sqlplus的连接字符串不一样把?
Youloveme 2001-11-29
  • 打赏
  • 举报
回复
意思我明白:是说我指定的驱动有错误?但错误在那呢?对了,这个数据库是我自己安装的。是不是安装有错误呢?但我做其他的如用SQL*plus都可以啊!
Youloveme 2001-11-29
  • 打赏
  • 举报
回复
谢谢各位,编译的事情已经搞定。按照http://www.oradb.net/proc/proc_001.htm上面讲的做的。谢谢: flowerofwind(现实很残酷) 。
还有一个问题是我的程序运行时在连接数据库时提示说:
ORACLE ERROR DETECTED:N
ORA-06401: NETCMN: invalid driver designator
那位能告诉我吗?我将继续加分!
flowerofwind 2001-11-28
  • 打赏
  • 举报
回复
http://www.oradb.net/book.htm
flowerofwind 2001-11-28
  • 打赏
  • 举报
回复
还有一个办法,你找到oracle目录下的关于proc的例子程序,肯定又怎么编译,你把例子编译一下就知道是用什么库了
Youloveme 2001-11-28
  • 打赏
  • 举报
回复
兄弟们多多指教啊!
谢谢flowerofwind(现实很残酷)!我找找看。
flowerofwind 2001-11-28
  • 打赏
  • 举报
回复
7,3,2?我没用过,不过你到www.oradb.com上去下载proc的中文文档,那个是oracle7的,上面肯定又怎么编译
flowerofwind 2001-11-28
  • 打赏
  • 举报
回复
不会吧,你安装oracle的时候是典型安装吗?如果是的话,这个库肯定有的
是libclntsh.so不是libclntsh
Youloveme 2001-11-28
  • 打赏
  • 举报
回复
对了。我的oracle版本是:7.3.2。
也是这个文件吗?
Youloveme 2001-11-28
  • 打赏
  • 举报
回复
to flowerofwind(现实很残酷):
我看了,没有libclntsh文件,我还需要装什么啊?谢谢!
flowerofwind 2001-11-28
  • 打赏
  • 举报
回复
很简单看看$ORACLE_HOME/lib 目录下有没有libclntsh.so这个文件就是了

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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