pro*c的小问题!

nicholaz 2002-03-27 02:01:37
请问在pro*c中嵌入pl\sql后,怎样编译成exe文件,SQLCHECK=SEMANTICS加在哪呢?


怎样将两个文件(pro*c)编译成一个exe文件.
...全文
31 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
shipatrioc 2002-03-28
  • 打赏
  • 举报
回复
可以了,不过我想不通为什么加上USERID=user/password
imjasonfan 2002-03-28
  • 打赏
  • 举报
回复
这么编译试试:
proc SQLCHECK=FULL USERID=user/password iname=$1.pc define=__DECC code=ANSI_C
imjasonfan 2002-03-28
  • 打赏
  • 举报
回复
这么编译试试:
proc SQLCHECK=FULL USERID=user/password iname=$1.pc define=__DECC code=ANSI_C
shipatrioc 2002-03-28
  • 打赏
  • 举报
回复
我也碰到同样的问题
nicholaz 2002-03-28
  • 打赏
  • 举报
回复
我是这样做的阿!过程也创建了,但是pro*c却编译不过,就是在pl/sql块出的问题,老报错,难道要用什么特别的方法编译吗?(如要另加什么头文件的)。
imjasonfan 2002-03-27
  • 打赏
  • 举报
回复
建立一个.sql的文件,内容为:
create or replace procedure procedurename
(ret out number)
is
--变量定义
begin
pl/sql 语句
end;
/
然后进入sqlplus 执行这个.sql
sqlplus username/password @filename.sql
正常的话,系统提示procedure created,否则提示Warning: Procedure created with compilation errors
那就退出sqlplus 找错把。

在pro*c中调用时
EXEC SQL EXECUTE
BEGIN procedurename(:ret);
END;
END-EXEC;
ret 是procedure的返回值.
nicholaz 2002-03-27
  • 打赏
  • 举报
回复
我也试了.也编译不过.我如果把procedure写入另一个单独的文件,怎么编译procedure

啊?

imjasonfan 2002-03-27
  • 打赏
  • 举报
回复
那你就将PL/SQL写成个procedure,调用它
EXEC SQL EXECUTE
BEGIN procedurename();
END;
END-EXEC;
nicholaz 2002-03-27
  • 打赏
  • 举报
回复
to imjasonfan(就是烦):

谢谢你,我知道这样可以,这我只是举个例子,我是要用pl/sql的写,该怎么办呢?
imjasonfan 2002-03-27
  • 打赏
  • 举报
回复
试试:
EXEC SQL SELECT ENAME,JOB,SAL,COMM
INTO :emp_name,:job,:salary,:commission
FROM EMP
WHERE EMPNO=:emp_number;
nicholaz 2002-03-27
  • 打赏
  • 举报
回复
例如这样的,为什么编译时通不过呢??说有语义错误,但我不知哪儿有问题,望指教
EXEC SQL EXECUTE
BEGIN
SELECT ENAME,JOB,SAL,COMM
INTO :emp_name,:job,:salary,:commission
FROM EMP
WHERE EMPNO=:emp_number;

END;
END-EXEC;
nicholaz 2002-03-27
  • 打赏
  • 举报
回复
例如这样的,为什么编译时通不过呢??说有语义错误,但我不知哪儿有问题,望指教
EXEC SQL EXECUTE
BEGIN
SELECT ENAME,JOB,SAL,COMM
INTO :emp_name,:job,:salary,:commission
FROM EMP
WHERE EMPNO=:emp_number;

END;
END-EXEC;
imjasonfan 2002-03-27
  • 打赏
  • 举报
回复
proc SQLCHECK=SEMANTICS USERID=user/password iname=$1.pc define=__DECC code=ANSI_C

.pc文件生成.o文件然后make
make -f /usr/users/oracle/precomp/lib/proc.mk build EXE=$1 OBJS=$1.o $2.o
alexqi2008 2002-03-27
  • 打赏
  • 举报
回复
学习!!!
nicholaz 2002-03-27
  • 打赏
  • 举报
回复
帮帮忙嘛!!

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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